我在动作类中有一个数组列表。我想在我的jsp页面中访问这个arraylist以及一个复选框。如果选中该复选框,我想在另一个actionclass中获取checkbox的关联值。我怎么能这样做?
动作类:
public class CreateModuleAction extends ActionSupport{
private List modNameList=new ArrayList();
private int size;
public String manageModule()
{
ManageModule ob=new ManageModule();
modNameList=ob.selectModule();
if(modNameList.isEmpty()) {
addActionError("Module list is empty!!!");
return ERROR;
}
else{
setSize(modNameList.size());
return SUCCESS;
}
}
public List getModNameList() {
return modNameList;
}
public void setModNameList(List modNameList) {
this.modNameList = modNameList;
}
public int getSize() {
return size;
}
public void setSize(int size) {
this.size = size;
}
jsp页面:
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@taglib uri="/struts-tags" prefix="s" %>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="../css/style.css" rel="stylesheet" type="text/css" />
<title>Admin Module Management</title>
</head>
<body>
<div class="main">
<div class="header">
<!-- Page heading-->
<jsp:include page="/templates/heading.jsp" flush="true"/>
</div>
<div class="menu">
<!-- Page menu-->
<jsp:include page="/templates/menu.jsp" flush="true"/>
</div>
<div class="content">
<!-- page content-->
<div id="right_top" style="position:absolute; left:900px; top:300px;;">
<a href="adminCreateModule.jsp"><img src="../images/add.jpg"/>Add</a>
<a href="adminEditModule.jsp"><img src="../images/edit.jpg"/>Edit</a>
<a href="adminDeleteModule.jsp"><img src="../images/add.jpg"/>Delete</a>
</div>
<s:iterator status="size" value="modNameList">
<s:checkbox name="modNameCheck" fieldValue="true" value="modNameList"/>
<s:property value="modNameList"/>
</s:iterator>
<s:actionerror/>
</div>
<div class="footer" style="margin-left: 50%">
<!-- page footer-->
<jsp:include page="/templates/footer.jsp" flush="true"/>
</div>
</div>
</body>
</html>
答案 0 :(得分:0)
为什么不使用struts2 checkboxlist tag
<s:form action="myAction">
<s:checkboxlist list="modNameList" name="modNameCheck"/>
</s:form>
现在在yoyr myAction
动作类声明
private List modNameCheck; //with getter/setter
它将具有在jsp中检查的条目
答案 1 :(得分:0)
如果要将复选框中的值提交给操作,则需要在JSP中使用form
。如果要根据操作中的某些值显示选中/取消选中的复选框,则需要在value
属性中进行一些条件检查。
<s:checkbox name="modNameCheck" value="list.contains(something)"/>