카테고리 없음

Struts 2 CheckboxList example

Soul-Learner 2014. 3. 27. 00:01

Struts 2에서 제공하는 체크박스 관련 태그(checkbox, checkboxlist)에 대한 예제


<s:checkboxlist> 태그


struts.xml

        <action name="checkboxAction"

        class="chapter03.CheckBoxAction">

        <result>chapter03/checkbox.jsp</result>

        </action>



CheckBoxAction.java

package chapter03;


import java.util.*;


import com.opensymphony.xwork2.ActionSupport;


public class CheckBoxAction extends ActionSupport {


List<String> cbLabels; // 체크박스의 라벨

String resultSel;         // 체크박스 선택결과

List<String> defaultSel;         // 디폴트 선택항목


public CheckBoxAction() {

cbLabels = new ArrayList<String>();

cbLabels.add("독서");

cbLabels.add("게임");

cbLabels.add("등산");

cbLabels.add("취침");

defaultSel = new ArrayList<String>();

defaultSel.add("독서");

}


@Override

public String execute() throws Exception {

return SUCCESS;

}


public List<String> getCbLabels() {

return cbLabels;

}


public String getResultSel() {

return resultSel;

}


public void setResultSel(String resultSel) {

this.resultSel = resultSel;

}


public List<String> getDefaultSel() {

return defaultSel;

}

}



checkbox.jsp

<%@ page language="java" contentType="text/html; charset=utf-8"

    pageEncoding="EUC-KR"%>

<%@ taglib prefix="s" uri="/struts-tags"%>

<!DOCTYPE html>

<html>

<head>

<title>Struts2 CheckBox Test</title>

</head>

<body>

<s:form action="checkboxAction" theme="simple">

취미를 선택하세요<p>

<s:checkboxlist

list="cbLabels" name="resultSel" value="defaultSel" />

<p>

<s:property value="resultSel"/>

<p>

<s:submit/> <s:reset/>

</s:form>

</body>

</html>



다중선택을 위해 <c:checkbox> 태그를 여러개 제시한 경우

checkbox.jsp

<%@ page language="java" contentType="text/html; charset=utf-8"

    pageEncoding="EUC-KR"%>

<%@ taglib prefix="s" uri="/struts-tags"%>

<!DOCTYPE html>

<html>

<head>

<title>Struts2 CheckBox Test</title>

</head>

<body>

<s:form action="checkboxAction" theme="simple">

취미를 선택하세요<p>

독서<s:checkbox name="hobbys" value="%{'독서' in hobbys}" fieldValue="독서"/>

등산<s:checkbox name="hobbys" value="%{'등산' in hobbys}" fieldValue="등산"/>

낚시<s:checkbox name="hobbys" value="%{'낚시' in hobbys}" fieldValue="낚시"/>

취침<s:checkbox name="hobbys" value="%{'취침' in hobbys}" fieldValue="취침"/>

<p>

<s:property value="hobbys"/>

<p>

<s:submit/> <s:reset/>

</s:form>

</body>

</html>



CheckBoxAction.java (아래의 경우에는 List<String>형으로 파라미터를 받고 있지만 배열(String[])도 사용할 수 있다)

package chapter03;


import java.util.*;


import com.opensymphony.xwork2.ActionSupport;


public class CheckBoxAction extends ActionSupport {


List<String> hobbys;   // 체크박스 선택결과

@Override

public String execute() throws Exception {

return SUCCESS;

}


public List<String> getHobbys() {

return hobbys;

}


public void setHobbys(List<String> hobbys) {

this.hobbys = hobbys;

}

}