Jquery Toast Plugin 사용해서 공지사항 띄우기..
2021. 11. 29. 17:19ㆍWeb/Project(Work)
우선뭐 해당 API js파일이랑 css파일은 다운받아서 프로젝트 내부에 넣어주었다는 가정 하에 시작 jsp먼저 작성하자.
main.jsp
<!-- toast를 띄울 화면에 라이브러리 참조 -->
<link rel="stylesheet" type="text/css" href="<c:url value='/resources/css/jquery.toast.min.css'/>">
<script type="text/javascript" src="<c:url value='/resources/js/common/jquery.taost.min.js'/>"></script>
<!-- 화면 동작스크립트 -->
<script type="text/javascript" src="<c:url value='/resources/js/main.js'/>"></script>
위의 코드처럼 토스트를 띄우고싶은 화면에 해당 파일들 주소를 참조해준다. 이제 스크립트를 작성하자.
main.js
/* 3. 해당 페이지가 뜰때 Toast를 띄워준다. */
$(document).ready(function(){
/* 공지사항 코드 호출 */
fnGetNoticeData();
});
/* 2.fnSetToast 함수의 파라미터를 셋팅해주면서 호출해주는 함수를 생성 */
function fnGetNoticeData() {
$.ajax({
url: "/getNoticeCodeList.do",
type: "POST",
data: {
"commonCdSch" : 'NOTICE',
"useYn" : "Y",
"useYn2" : "Y"
},
success: function(result) {
var status = result.status;
if( status == "fail") {
CommonJS.showMsgPop(result.serviceMessage);
return false;
}
if( !CommonJS.isNull(result.list) ) {
//ajax 호출 데이터에서 공지사항 제목가져오기
var headLine = result.list[0].commonCdCont;
//공지사항 내용 가져오기
var codeArr = result.list.map(function(code) { return code.commonDetailCdCont; });
//제목과 내용으로 토스트 셋팅함수 호출
fnSetToast(headLine, codeArr);
/* 1. Toast 속성값 셋팅 */
function fnSetToast(headLine, codeArr) {
$.toast({
heading: headLine,
text: codeArr,
hideAfter: false,
position: 'bottom-left,
bgColor: '#555555',
textColor: '#ffffff'
});
}
이렇게 클라이언트단은 다끝났고 서버단을 간략하게 기술해보자.
//controller
@RequestMapping(value="getNoticeCodeList.do", method= RequestMethod.POST)
@RequestBody
public CodeVO getNoticeCodeList(HttpServletRequest request, HttpServletResponse response, CodeVO paramVO) {
//조회 결과 리스트
List<CodeVO> list = new ArrayList<CodeVO>();
try {
list = manageService.selectNoticeCodeList(paramVO);
} catch (Exception e) {
paramVO.setResult("99", "화면 공지사항 조회중 오류발생");
}
paramVO.setList(list);
return paramVO;
}
//Service
public interface ManageService {
List<CodeVO> selectNoticeCodeList(CodeVO paramVO) throws Exception;
}
//ServiceImpl
@Service
public class ManageServiceImpl implements ManageService {
@Autowired
ManageServiceOdsDAO odsDao;
@Override
public List<CodeVO> selectNoticeCodeList(CodeVO paramVO) throws Exception {
return odsDao.selectNoticeCodeList(paramVO);
}
}
//DAO
@Repository
public class ManageServiceOdsDAO extends AbstractOdsCommonDAO {
public List<CodeVO> selectNoticeCodeList(CodeVO paramVO) throws Exception {
return this.selectList("manage.selectNoticeCodeList", paramVO);
}
//VO
@SuppressWarnings("serial")
public class CodeVO extends DefaultVO<CodeVO>{
private String commonCd;
private String commonDetailCd;
private String commonDetailCdCont;
private String commonCdCont;
private String commonCdSch;
private String useYn;
private String useYn2;
public String getCommonCd() {
return commonCd;
}
public void setCommonCd(String commonCd) {
this.commonCd = commonCd;
}
public String getCommonDetailCd() {
return commonDetailCd;
}
public void setCommonDetailCd(String commonDetailCd) {
this.commonDetailCd = commonDetailCd;
}
public String getCommonDetailCdCont() {
return commonDetailCdCont;
}
public void setCommonDetailCdCont(String commonDetailCdCont) {
this.commonDetailCdCont = commonDetailCdCont;
}
public String getCommonCdCont() {
return commonDetailCd;
}
public void setCommonCdCont(String commonCdCont) {
this.commonCdCont = commonCdCont;
}
public String getCommonCdSch() {
return commonCdSch;
}
public void setCommonCdSch(String commonCdSch) {
this.commonCdSch = commonCdSch;
}
public String getUseYn() {
return useYn;
}
public void setUseYn(String useYn) {
this.useYn = useYn;
}
public String getUseYn2() {
return useYn2;
}
public void setUseYn2(String useYn2) {
this.useYn2 = useYn2;
}
}
이제 가져오는 쿼리를 작성해보자.
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN" "http://ibatis.apache.org/dtd/ibatis-3-mapper.dtd">
<mapper namespace="manage">
<select id="selectNoticeCodeList" parameterType="CodeVO" resultType="CodeVO" fetchSize="50">
SELECT
--notice detail code
det.COMMON_CD AS commonCd
, det.COMMON_DETAIL_CD AS commonDetailCd
, det.COMMON_DETAIL_CD_CONT AS commonDetailCdCont
--notice common code
, grp.COMMON_CD_CONT AS commonCdCont
FROM ODS7COWN.TBRPTCOD_COMNDTL det
INNER JOIN ODS7COWN.TBRPTCOD_COMN grp
ON grp.COMMON_CD = det.COMMON_CD
<where>
det.COMMON_CD NOT IN'LOGIN'
<if test="commonCdSch != null and commonCdSch != '' ">
AND det.COMMON_CD = trim(#{commonCdSch})
</if>
<if test="useYn != null and useYn != '' ">
AND grp.USE_YN = #{useYn}
</if>
<if test="useYn2 != null and useYn2 != '' ">
AND det.USE_YN = #{useYn2}
</if>
</where>
</select>
</mapper>
https://kamranahmed.info/toast
https://kamranahmed.info/toast
Latest Update Toast loader has been introduced in the latest version. Check the demo below to see it in action Run code $.toast('Here you can put the text of the toast') Loader is enabled by default. In order to disable it or change the color, use the `loa
kamranahmed.info
Jquery Toast Plugin Reference Document
'Web > Project(Work)' 카테고리의 다른 글
JSP에서 form전송 시 주의(submit 막기) (0) | 2021.11.24 |
---|---|
HTML input값 byte 길이 체크 후 메세지 띄우기 (0) | 2021.11.23 |
SUBSTR, INSTR 사용해서 문자열 자르기 하려다가 JAVA split 사용으로 변경 (0) | 2021.11.15 |