本人对MVC中传递数据的原理和方式还是比较清楚的。
原来mvc中页面与servlet之间数据的传输是:
在Servlet中通过request.setAttribute("","");
然后在jsp页面中通过request.getAttribute("","");
现在我想采用的是struts2.0进行action与jsp页面之间的传输,请问应该怎样?请具体一点的。
还有是要求是用struts标签写
<s:input name=""/>,
还有就是用struts2.0进行构建的话,那还能不能用DAO,DTO.
如果不用了话,那怎么来处理这些业务,不会都集中在action中
处理吧。
原来mvc中页面与servlet之间数据的传输是:
在Servlet中通过request.setAttribute("","");
然后在jsp页面中通过request.getAttribute("","");
现在我想采用的是struts2.0进行action与jsp页面之间的传输,请问应该怎样?请具体一点的。
还有是要求是用struts标签写
<s:input name=""/>,
还有就是用struts2.0进行构建的话,那还能不能用DAO,DTO.
如果不用了话,那怎么来处理这些业务,不会都集中在action中
处理吧。
解决方案 »
- hibernate 中 session.load 出现的问题 希望大家帮忙解读一下是
- java计算2日期间隔工作日算法出错,得不到想要结果
- Box 添加固定组件大小的问题
- 求助:特殊字符处理问题
- 在struts下如果类改变了,在从jsp往action提交的时候,就会报ClassCastException,除非重启weblogic
- jboss中文显示全部是????的乱码,help!
- 一个关于java中socket的问题
- 哪里有Java的书下?
- Java虚拟机内存问题------求解
- 新手提问,请问spring怎么通过注解方式注入bean
- j2se,j2ee,j2me 中配置文件用哪种的好?
- 关于session.evict和session.clear的问题
HttpServletRequest request = ServletActionContext.getRequest();
来得到REQUEST.或者是response,
也可以通过将数据保存在属性中.例如在你的action中有一个属性String name;
你在JSP页面中可以通过两种方法去拿
1.<s:property value="name">
2.通过ValueStack 从中拿出你的属性
ValueStack vs = (ValueStack)request.getAttribute("struts.valueStack");
String name = (String)vs.findValue("name");
(struts2.0)
import java.sql.ResultSet;import javax.servlet.http.HttpServletRequest;import org.apache.struts2.ServletActionContext;import com.ex.util.DBManager;public class UserAction extends ActionSupport {
//用户信息
private Connection conn;
private List list;
private UserDAO userDao;
private UserDTO userDto;
public String execute() throws Exception {
String operType = "";//操作类型
conn = DBManager.getConn();
HttpServletRequest request = ServletActionContext.getRequest();
if("insert".equals(operType)){
insert();
}else if("modify".equals(operType)){
modify();
}else if("list".equals(operType)){
//显示
list();
}else if("delete".equals(operType)){
//删除
delete();
}else if("do_modify".equals(operType)){
//修改
do_modify();
}else if("do_insert".equals(operType)){
//添加
do_insert();
}else{
return ActionSupport.ERROR;
}
DBManager.closeConnection(conn);
return ActionSupport.SUCCESS;
}
}
//用户信息 private Connection conn;
private List list;
private UserDAO userDao;
private UserDTO userDto;
public String execute() throws Exception { String operType = "";//操作类型
conn = DBManager.getConn();
public String insert(){
return ActionSupport.SUCCESS;
}
public String modify(){
return ActionSupport.SUCCESS;
}
//显示
public String list(){
return ActionSupport.SUCCESS;
}
//删除
public String delete();
return ActionSupport.SUCCESS;
}//修改
public String do_modify(){
return ActionSupport.SUCCESS;
}//添加
public String do_insert(){
return ActionSupport.SUCCESS;
}
}
我在action的execute方法,加入:HttpServletRequest request = ServletActionContext.getRequest(); 获得页面中的信息??
在ACTION里添加对应的属性就可以了
严重: Exception starting filter struts2
Error building results for action user in namespace - action - file:/D:/Program%20Files/Apache%20Software%20Foundation/Tomcat%206.0/webapps/UserManaging/WEB-INF/classes/struts.xml:7:56
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addAction(XmlConfigurationProvider.java:340)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addPackage(XmlConfigurationProvider.java:429)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadPackages(XmlConfigurationProvider.java:239)
at org.apache.struts2.config.StrutsXmlConfigurationProvider.loadPackages(StrutsXmlConfigurationProvider.java:111)
at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reload(DefaultConfiguration.java:152)
at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:52)
at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:395)
at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:452)
at org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.java:205)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:275)
at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3693)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4342)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:761)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:741)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:920)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:883)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1023)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1015)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:448)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Caused by: No result type specified for result named 'list', perhaps the parent package does not specify the result type? - result - file:/D:/Program%20Files/Apache%20Software%20Foundation/Tomcat%206.0/webapps/UserManaging/WEB-INF/classes/struts.xml:8:24
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.buildResults(XmlConfigurationProvider.java:575)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addAction(XmlConfigurationProvider.java:338)
... 35 more对应的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>
<package name="">
<action name="user" class="com.ex.action.UserAction">
<result name="list">/list1.jsp</result>
<result name="showList">/user.action?operType=list</result>
<result name="edit">/edit1.jsp</result>
</action>
</package>
</struts>请各位高手帮忙指点一下。