Struts2中,action是如何将数据传给jsp页面 Struts2中,action是如何将数据传给jsp页面的? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 action类中添加private属性,getter setter ,其他的都是封装好了的,实际上是转发哪些数据流入流出 都在private属性里面写 同意楼上两位说的。当点击页面一个按钮,在action中是运行edit方法的话,就在此方法中吧要赋值的private属性赋值。然后转到一个新页面的话,struts会读private属性的值的。 封装后直接调用就行了。用struts标签或者EL表达式等等都能调用出来。 struts2是个框架 核心就是个过滤器 在用户发送请求的时候 进行过滤+拦截+处理struts2中默认了很多拦截器比如参数封装 类型转换 等等 比如 用户请求服务器 请求中包含了参数name 那么服务器里处理的action要包含一个对应的getName方法 有无对应的name属性都没有关系 只要有对应的getter setter 即可 因为规则是开发人员定的,你不这样写 就会出现问题,你现在 问action怎么把属性返回给页面的 action中的属性有对应的set get 即可 不用区分哪个是用来封装请求的参数 哪个是用来返回给页面的参数 都是内部封装好了 你只是会用即可 代码都是开源的 自己看看就行了 我现在遇到问题,action中的属性,在jsp页面中读取不出来。下面贴出代码package com.wxh.action;import java.util.Iterator;import java.util.List;import java.util.ArrayList;import org.apache.log4j.Logger;import com.opensymphony.xwork2.ActionSupport;import com.opensymphony.xwork2.ModelDriven;import com.wxh.model.WoodCategory;import com.wxh.service.InventoryManager;public class WoodCategoryAction extends ActionSupport implements ModelDriven<WoodCategory> { static final Logger logger = Logger.getLogger(WoodCategoryAction.class); private WoodCategory woodCategory; private InventoryManager inventoryManager; private List<WoodCategory> wcList = new ArrayList<WoodCategory>(); @Override public WoodCategory getModel() { return woodCategory; } public String execute() { return SUCCESS; } public void save() { inventoryManager.save(woodCategory); } public String list() { wcList = inventoryManager.listWoodCategory(); Iterator it = wcList.iterator(); while (it.hasNext()) { WoodCategory wc = (WoodCategory) it.next(); logger.warn(wc.getName()); } logger.warn(wcList.size()); logger.warn("list excuted!"); return SUCCESS; } public WoodCategory getWoodCategory() { return woodCategory; } public void setWoodCategory(WoodCategory woodCategory) { this.woodCategory = woodCategory; } public InventoryManager getInventoryManager() { return inventoryManager; } public void setInventoryManager(InventoryManager inventoryManager) { this.inventoryManager = inventoryManager; } public List<WoodCategory> getWcList() { return wcList; } public void setWcList(List<WoodCategory> wcList) { this.wcList = wcList; }}--------------------------------------------------------------------------------------jsp--------------------------------------------------------------------------------------<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><%@taglib uri="/struts-tags" prefix="s"%><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Registration Page</title><s:head /><style type="text/css">@import url(style.css);</style></head><body> <s:form action="saveWoodCategory"> <s:hidden>id</s:hidden> <s:textfield name="name" lable="木材种类" /> <s:submit /> </s:form> <table> <tr> <th>Name</th> </tr> <s:iterator value="wcList" var="list"> <tr> <s:property value="list.name"/> </tr> </s:iterator> </table></body></html> var已经过时了被ID 取缔了 已经 在action里修改一下 把wcList放到request里 然后页面在去获取ServletActionContext.getRequest().setAttribute("wcList", wcList);页面<s:iterator value="#request.wcList"><tr><s:property value="name"/></tr> 你试试 jsp分页问题<c:when test="${pageNo}>1"> cas认证后跳转,出错,求助了 用java怎么做那个树呢? Java实现ftp上传下载是否必须架设ftp服务器 请高手给点建议 url地址 重写之后过滤器不能过滤 .html 结尾的请求 邮件乱码问题 struts分页问题,老问题,有兴趣近来看看 求教:JDBC中事务回滚问题,支持DDL语句的回滚吗? 请教开发application方式,是否“界面“与“业务逻辑”分开开发 JAVA的静态成员静态方法存储在哪儿? 初学者的一个疑问
struts2中默认了很多拦截器比如参数封装 类型转换 等等
比如 用户请求服务器 请求中包含了参数name 那么服务器里处理的action要包含一个对应的getName方法 有无对应的name属性都没有关系 只要有对应的getter setter 即可 因为规则是开发人员定的,你不这样写 就会出现问题,你现在 问action怎么把属性返回给页面的 action中的属性有对应的set get 即可 不用区分哪个是用来封装请求的参数 哪个是用来返回给页面的参数 都是内部封装好了 你只是会用即可 代码都是开源的 自己看看就行了
package com.wxh.action;import java.util.Iterator;
import java.util.List;
import java.util.ArrayList;import org.apache.log4j.Logger;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;import com.wxh.model.WoodCategory;
import com.wxh.service.InventoryManager;public class WoodCategoryAction extends ActionSupport implements
ModelDriven<WoodCategory> {
static final Logger logger = Logger.getLogger(WoodCategoryAction.class); private WoodCategory woodCategory;
private InventoryManager inventoryManager;
private List<WoodCategory> wcList = new ArrayList<WoodCategory>(); @Override
public WoodCategory getModel() {
return woodCategory;
} public String execute() {
return SUCCESS;
} public void save() {
inventoryManager.save(woodCategory);
} public String list() { wcList = inventoryManager.listWoodCategory(); Iterator it = wcList.iterator();
while (it.hasNext()) {
WoodCategory wc = (WoodCategory) it.next();
logger.warn(wc.getName());
}
logger.warn(wcList.size());
logger.warn("list excuted!"); return SUCCESS;
} public WoodCategory getWoodCategory() {
return woodCategory;
} public void setWoodCategory(WoodCategory woodCategory) {
this.woodCategory = woodCategory;
} public InventoryManager getInventoryManager() {
return inventoryManager;
} public void setInventoryManager(InventoryManager inventoryManager) {
this.inventoryManager = inventoryManager;
} public List<WoodCategory> getWcList() {
return wcList;
} public void setWcList(List<WoodCategory> wcList) {
this.wcList = wcList;
}}
--------------------------------------------------------------------------------------
jsp
--------------------------------------------------------------------------------------
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@taglib uri="/struts-tags" prefix="s"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Registration Page</title>
<s:head />
<style type="text/css">
@import url(style.css);
</style>
</head>
<body>
<s:form action="saveWoodCategory">
<s:hidden>id</s:hidden>
<s:textfield name="name" lable="木材种类" />
<s:submit />
</s:form>
<table>
<tr>
<th>Name</th>
</tr>
<s:iterator value="wcList" var="list">
<tr>
<s:property value="list.name"/>
</tr> </s:iterator>
</table></body>
</html>
在action里修改一下 把wcList放到request里 然后页面在去获取
ServletActionContext.getRequest().setAttribute("wcList", wcList);页面
<s:iterator value="#request.wcList">
<tr>
<s:property value="name"/>
</tr>
你试试