structs2标签 我原来从action传一个list<object[]>到jsp页面,现在想让list在页面多得到一个属性,再把list传回到action中,要怎么写啊?把jsp页面里要的代码写出来就行,要用structs2标签。我举个例子:<s:iterator value="student" id="student" status="s">
            <s:property value="student[#s.index][0]"/>
            <s:property value="student[#s.index][1]"/>
        </s:iterator>
这个是action传过来的list,有两个属性了,我希望可以在jsp页面中使它再多一个属性,让回传回到action中去。
这个其实简单的来说就是,我action里传了个学生列表(每个学生有id name之类的属性)到页面上,现在我希望的是可以多一个属性,在每个学生前面都有个选择框,当在选择框里打了勾以后,这个属性的值就为1,没打勾的就为0,这样传回到action里去,这样就可以知道哪里学生被选择了,哪些没被选择

解决方案 »

  1.   

    是像这样子吧:
    <s:iterator value="student" id="student" status="s">
      <input type="checkbox" name="ids" value="student[#s.index][0]">
      <s:property value="student[#s.index][0]"/>
      <s:property value="student[#s.index][1]"/>
     </s:iterator>可以吧,这个checkbox的name属性值要存在,否则就不这封装表单数据值了嘛
      

  2.   

    看看这个http://blog.csdn.net/anhuixiaozi/archive/2010/09/24/5903680.aspx,或许对你有帮助
      

  3.   

    在student对象中添加一个布尔属性
      

  4.   


    <s:iterator value="#request.list" id="list">
    ${doclistTitle
    </s:iterator>
      

  5.   

    http://blog.csdn.net/anhuixiaozi/archive/2010/09/24/5903680.aspx文章里面添加了东西,或许对你胃口
    1)环境: jdk1.5,tomcat5.5
    2)导入sturts2jar包: commons- fileupload-1.2.1.jar、commons-io-1.3.2.jar、commons-logging-1.0.4.jar、 freeer-2.3.15.jar、ognl-2.7.3.jar、struts2-core-2.1.8.jar、xwork-core- 2.1.6.jar。
    3)web.xml内容:
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.4" 
    xmlns="http://java.sun.com/xml/ns/j2ee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
     
      <filter>
      <filter-name>struts2</filter-name>
      <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
      </filter>  <filter-mapping>
      <filter-name>struts2</filter-name>
      <url-pattern>/*</url-pattern>
      </filter-mapping>
       
      <welcome-file-list>
      <welcome-file>index.jsp</welcome-file>
      </welcome-file-list>
    </web-app>
    4)struts.xml文件内容:
    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE struts PUBLIC
      "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
      "http://struts.apache.org/dtds/struts-2.0.dtd"><struts>
    <constant name="struts.ui.theme" value="simple" />
    <package name="anhuixiao" namespace="/anhuixiao" extends="struts-default">
    <action name="list" class="cn.anhuixiao.action.PersonListAction">
    <result name="list">/WEB-INF/page/personlist.jsp</result>
    </action>
    <action name="show_*" class="cn.anhuixiao.action.PersonListAction" method="{1}">
    <result name="show">/WEB-INF/page/personlistShow.jsp</result>
    </action>
    </package>
    </struts>
    5)PersonListAction- conversion.properties内容
    Element_bookList=cn.anhuixiao.bean.Book此文件放 PersonListAction.java同一目录下
    6)PersonListAction.java 内容
    package cn.anhuixiao.action;import java.util.ArrayList;
    import java.util.List;import cn.anhuixiao.bean.Book;public class PersonListAction {private List<Book> bookList;public String execute() {
    bookList = new ArrayList<Book>();
    bookList.add(new Book(56, "javaweb", 90));
    bookList.add(new Book(80, "ejb", 78));
    bookList.add(new Book(23, "spring", 50));
    return "list";
    }public String show() {for (Book book : bookList) {
    System.out.println(book.getName());
    }return "show";
    }public List<Book> getBookList() {
    return bookList;
    }public void setBookList(List<Book> bookList) {
    this.bookList = bookList;
    }
    }
    7)Book.java内容:
    package cn.anhuixiao.bean;public class Book {
    private Integer bookid;
    private String name;
    private Integer price;
    private boolean checked;public Integer getBookid() {
    return bookid;
    }
    public void setBookid(Integer bookid) {
    this.bookid = bookid;
    }
    public String getName() {
    return name;
    }
    public void setName(String name) {
    this.name = name;
    }
    public Integer getPrice() {
    return price;
    }
    public void setPrice(Integer price) {
    this.price = price;
    } public boolean isChecked() {
    return checked;
    }
    public void setChecked(boolean checked) {
    this.checked = checked;
    }
    public Book(Integer bookid, String name, Integer price) {
    this.bookid = bookid;
    this.name = name;
    this.price = price;
    }public Book(String name) {
    this.name = name;
    }public Book(){}
    }8)personlist.jsp 内容:
    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    <%@ taglib uri="/struts-tags" prefix="s"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
      <title>My JSP 'personlist.jsp' starting page</title>
       
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">   </head>
      
      <body>
    <s:form action="show_show" namespace="/anhuixiao">
    <s:iterator value="bookList" status="status" >
    <s:checkbox name="bookList[%{#status.index}].checked" value="%{bookList[#status.index].checked}"/>
    <s:textfield label="Name" name="bookList[%{#status.index}].name" value="%{bookList[#status.index].name}"/><br/>
    </s:iterator>
    <s:submit value="submit" />
    </s:form>
      </body>
    </html>
    9)personlistShow.jsp 内容
    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    <%@ taglib uri="/struts-tags" prefix="s"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
      <title>My JSP 'personlist.jsp' starting page</title>
       
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">  
      </head>
      <body>
      改变后的结果<br/>
    <s:iterator value="bookList" status="status" >
     <s:property value="checked"/>:<s:property value="name"/><br/>
    </s:iterator>
      </body>
    </html>
      

  6.   

    1)Book.java中list对象里Book中添加了private boolean checked;属性和对应的set和get方法
    2)personlist.jsp中添加<s:checkbox name="bookList[%{#status.index}].checked" value="%{bookList[#status.index].checked}"/>
      

  7.   

    不过提交的都是true和false,如果要搞成1,0,你可以设置bean做个判断,true:设为1,false:设置0