structs2标签 jsp页面把list传到action

luoyuanbin 2010-10-08 07:25:18
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里去,这样就可以知道哪里学生被选择了,哪些没被选择
...全文
822 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
leekingching 2011-01-06
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 luoyuanbin 的回复:]

这个问题已经解决了
[/Quote]
LZ怎么解决的 分享下 我也遇到同样的问题
luoyuanbin 2010-10-11
  • 打赏
  • 举报
回复
这个问题已经解决了
luoyuanbin 2010-10-09
  • 打赏
  • 举报
回复
怎么没人回答了啊?
anhuixiaozi 2010-10-09
  • 打赏
  • 举报
回复
不过提交的都是true和false,如果要搞成1,0,你可以设置bean做个判断,true:设为1,false:设置0
anhuixiaozi 2010-10-09
  • 打赏
  • 举报
回复
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}"/>

anhuixiaozi 2010-10-09
  • 打赏
  • 举报
回复
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、 freemarker-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>

luochen535 2010-10-09
  • 打赏
  • 举报
回复

<s:iterator value="#request.list" id="list">
${doclistTitle
</s:iterator>
luoyuanbin 2010-10-08
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 liutianxiong888 的回复:]
是像这样子吧:
<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="stu……
[/Quote]
你这样写是不行的,不过你倒是理解了我的意思,谁能给个更好的啊?
shengfengluanshi 2010-10-08
  • 打赏
  • 举报
回复
在student对象中添加一个布尔属性
anhuixiaozi 2010-10-08
  • 打赏
  • 举报
回复
看看这个http://blog.csdn.net/anhuixiaozi/archive/2010/09/24/5903680.aspx,或许对你有帮助
Spring89 2010-10-08
  • 打赏
  • 举报
回复
是像这样子吧:
<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属性值要存在,否则就不这封装表单数据值了嘛

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧