bboks.net™

JSP에서 selected 대체 스크립트 본문

Java/JSP | Servlet

JSP에서 selected 대체 스크립트

bboks.net 2011. 7. 28. 17:25
<%@ page contentType="text/html; charset=euc-kr" %>
<% String a=request.getParameter("a");%>
<% String b=request.getParameter("b");%>
<% String c=request.getParameter("c");%>
<%! //메서드선언
//기존에 공통모듈로 쓰던 메서드형식
    public static String isSelected(String value1, String value2) {
        if (value1 == null || value2 == null)
            return "";
        return value1.equals(value2) ? "SELECTED" : "";
    }
%>
<html>
<head>
<title> select박스에 값이 같은걸 select해주기</title>
<SCRIPT LANGUAGE="JavaScript">
<!--
function viewthesource(){
    window.location="view-source:"+window.location
}
//-->
</SCRIPT>
</head>
<body>
기존에 jsp에서 폼전송시에 select박스에 값이 같은걸 select해주기 위해서는 <BR>
각각 값을 비교해서 같다면 selected를 넣어주었습니다.<BR>
만약 option태그가 10개라면 10번의 비교를 해서 선택을 해줬던 것입니다.<BR>
물론 이 로직을 공통모듈로 만들어서 이용했었지요. 하지만!!!!<BR><BR>
다음과 같은 스크립트를 쓰면 간단히! 해결됩니다!!!
<BR><BR><BR>
<form name=test METHOD=POST  action="select.jsp">
스크립트 적용 예시<select name="a">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
<script>test.a.value = '<%=a%>';</script><!--스크립트로 선택값을 한번에 잡아준다.-->
넘어온값:<%=a%><BR>
스크립트 비적용 예시<select name="b">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
넘어온값:<%=b%><BR>

기존 메세드 사용 예시<select name="c"><!--매번 메서드로 비교하여 선택값을 잡아야 한다.-->
<option value="1" <%=isSelected(c,"1")%>>1</option>
<option value="2" <%=isSelected(c,"2")%>>2</option>
<option value="3" <%=isSelected(c,"3")%>>3</option>
<option value="4" <%=isSelected(c,"4")%>>4</option>
<option value="5" <%=isSelected(c,"5")%>>5</option>
</select>
넘어온값:<%=c%><BR>
<INPUT TYPE="submit">
</form>
<BR>
<input type="button" onClick="viewthesource()" value="페이지소스보기버튼">
</body>
</html>


[출처] [js] jsp에서 selected 사용 대체 스크립트