ssh学习第一季——sturts2

原创 晴天才微笑 随笔 待整理 1037阅读 2014-08-20 17:09:59 举报

sturts使用指南之一——入门篇

1.前台提交数据给后台,后台如何获得?写上提交地址即可
<form action="check_checkName"> checkName表示在相应类中调用的方法名

2.配置stutrs.xml ——作用是,类似于快递到了城市往下分发包裹,所有的请求都会在这里找到对应后台的地址——前台是如何找到对应的action类

第一种写法:表示调用类中某个确切的方法
<action name="check_*" class="checkNameAction" method="{1}">
<result name="fail">/page/common/error.jsp</result>
<result name="success">/page/common/success.jsp</result>
</action>

解释:
name ——与前台action中提交的地址保证一致。
check_,表示匹配所有以check_开头的地址,例如check_checkName,check_checkPassword等。
method{1}:表示接受前面action通过
传递过来的值,这里既是checkName,也表示去调用类中的这个方法

第二种写法:
<form action="check">
<action name="check" class=“。。。">
未指定method时,默认调用 action中的execute()方法

class——与后台中spring中的配置文件,applicationContext.xml中<bean>的id保持一致

3.配置spring中的applicationContext.xml
spring,是莲藕,h与s 的重要组件,也是联系action,service,dao,的唯一组件

在action中要使用的后台类(bean,有的实体),在这里依赖注入,就可以直接在action中,直接使用,——由spring完成实例化功能
<bean id="checkNameAction" class="com.g2.Action.UserAction">
<property name="在action中的此类的名字" ref="bean中的id值">
</bean>

4.以上完成了,从前台顺利找到后台的action的路径
解释:action是如何获得前台数据的
首先,创建于与前台数据的name值一致的,私有属性。
例如 private String username,这里的username与前台<input name="username">一致,
其次,给每个私有属性设置get() set()方法
完成,这样就会自动把前台的值,相对应的赋给后台的属性,我们也就得到了前台的值

以上是从前台从数据到后台(action)
下面介绍,从后台传数据到前台

1.首先使用action访问servlet api——也就是说,访问request session等,可以把值存入其中,传递给前台
最推荐的方法:
两种主要方式:
一 和Servlet API耦合的访问方式
二 和Servlet API解耦的访问方式


总结流程:
后台: 1.导包————2.获得对象————3.存值
一 和Servlet API耦合的访问方式
1、 采用Request (HttpServletRequest)对象来传递数据
(1)在Action类文件中
(A) 导入ServletActionContext类:
import org.apache.struts2.ServletActionContext;
(B) 获得request对象,具体的方法如下:
HttpServletRequest request = ServletActionContext.getRequest ();
(C)通过setAttribute()方法把需要传递的数据对象放入request对象中:
request.setAttribute("key",Object);

(2)JSP文件中,有多种方法可以获得被传递的数据对象,比如:
(A) request.getAttribute("key")获得被传递的数据对象。
(B) <s:iterator value="#request.key"> 获得被传递的数据对象。

评论 ( 0 )
最新评论
暂无评论

赶紧努力消灭 0 回复