分类: Java
2008-04-14 13:22:08
1. search,然后使用标签
2. 每一条记录后面增加一个"修改"或者"删除"链接(按钮)
3. 产生的问题:全部或者多条删除将怎么实现?
解决的办法:
使用复选框
使用方法:
1.创建ActionForm: AForm
public class AForm extends ActionForm {
private String str[];
public String[] getStr() { return str; }
public void setStr(String[] strings) { str = strings; }
}
2.创建Action: GAction
public class GAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)throws Exception {
ActionErrors errors = new ActionErrors();
ActionForward forward = new ActionForward(); // return value
AForm aForm = (AForm) form;
try {
int j=ArrayUtils.getLength(aForm.getStr());//使用apache的lang包,注意加上commons-lang.jar
for (int i = 0; i < j; i++) {
System.out.println(aForm.getStr()[i]);
}
} catch (Exception e) {}
return mapping.findForward("success");
}
}
3. 创建action-mappings和form-beans配置,在struts-config.xml中相应增加:
4. 创建JSP页面a.jsp
<%@ taglib uri="/tags/struts-html" prefix="html" %>
<%@ taglib uri="/tags/struts-bean" prefix="bean" %>
<%@ taglib uri="/tags/struts-logic" prefix="logic" %>
<%java.util.ArrayList list = new java.util.ArrayList();
list.add("First");
list.add("Second");
list.add("Third");
list.add("Fourth");
list.add("Fifth");
pageContext.setAttribute("list", list, PageContext.PAGE_SCOPE);
%>
5. 运行a.jsp
6. 勾选前3个复选框,点击按钮delete,控制台显示如下信息:
3
First
Second
Third
接下来我们根据这3条记录id进行删除操作。
已获得权限部门
这样就实现了一个jsp里多个multibox 的全选了
multibox 的property与input里onclick="checkAll(this, 'kk_BlacklistVehicle_UserManage_BMQX_CheckBox')"中的第2个参数对应
multibox 里onclick="checkItem(this, 'mmAll')"中第2个参数与input中的name相对应
2008-4-7 16:41:19 org.apache.catalina.core.ApplicationDispatcher invoke
严重: Servlet.service() for servlet jsp threw exception
javax.servlet.jsp.JspException: You must specify the value attribute or nested tag content
at org.apache.struts.taglib.html.MultiboxTag.prepareValue(MultiboxTag.java:201)
at org.apache.struts.taglib.html.MultiboxTag.doEndTag(MultiboxTag.java:170)
.......
这个错误是由于 如果idbmqx为空,那么就会报异常的,解决办法就是不要让multibox 为空,或者用