3、structs2 默认配置、数据处理的集中方式、请求数据封装、日期
发布时间:2021-05-14 14:51:41 所属栏目:大数据 来源:网络整理
导读:副标题#e# structs2 默认配置 1、全局视图跳转配置、配置的各项默认值 在config.xml中如此配置 !-- 配置全局跳转视图 -- global-results result name="success"/index.jsp/result /global-results !-- 配置各项默认值 -- !-- name 只配置了访问路径名称 cla
|
副标题[/!--empirenews.page--]
structs2 默认配置 1、全局视图跳转配置、配置的各项默认值 <!-- 配置全局跳转视图 -->
<global-results>
<result name="success">/index.jsp</result>
</global-results>
<!-- 配置各项默认值 -->
<!-- name 只配置了访问路径名称 class 默认执行的action在struts-default有配置 <default-class-ref class="com.opensymphony.xwork2.ActionSupport" /> method 默认为execute 默认的方法execute返回值为success,对应的页面去全局视图找。 -->
<action name="test"></action>
<!-- 什么情况不配置class? 即处理的aciton -->
<!-- 答案: 当只是需要跳转到WEB-INF下资源的时候。 -->
<action name="test2">
<result name="success" type="redirect">/WEB-INF/index.jsp</result>
</action>
2、structs2 数据处理的集中方式 1)直接拿到ServletApi public class DataAction_bak extends ActionSupport{
@Override
public String execute() throws Exception {
// 1. 请求数据封装; 2. 调用Service处理业务逻辑,拿到结果数据
// 3. 数据保存到域中
/* * // Struts中对数据操作,方式1: 直接拿到ServletApi,执行操作 HttpServletRequest request = ServletActionContext.getRequest(); HttpSession session = request.getSession(); ServletContext application = ServletActionContext.getServletContext(); // 操作 request.setAttribute("request_data","request_data1"); session.setAttribute("session_data","session_data1"); application.setAttribute("application_data","application_data1"); */
// 【推荐:解耦的方式实现对数据的操作】
// Struts中对数据操作,方式2: 通过ActionContext类
ActionContext ac = ActionContext.getContext();
// 得到Struts对HttpServletRequest对象进行了封装,封装为一个map
// 拿到表示request对象的map
Map<String,Object> request = ac.getContextMap();
// 拿到表示session对象的map
Map<String,Object> session = ac.getSession();
// 拿到表示servletContext对象的map
Map<String,Object> application = ac.getApplication();
// 数据
request.put("request_data","request_data1_actionContext");
session.put("session_data","session_data1_actionContext");
application.put("application_data","application_data1_actionContext");
return SUCCESS;
}
/** * 数据处理,方式3: 实现接口的方法 * */
public class DataAction extends ActionSupport implements RequestAware,SessionAware,ApplicationAware{
private Map<String,Object> request;
private Map<String,Object> session;
private Map<String,Object> application;
// struts运行时候,会把代表request的map对象注入
@Override
public void setRequest(Map<String,Object> request) {
this.request = request;
}
// 注入session
@Override
public void setSession(Map<String,Object> session) {
this.session = session;
}
// 注入application
@Override
public void setApplication(Map<String,Object> application) {
this.application = application;
}
@Override
public String execute() throws Exception {
// 数据
request.put("request_data","request_data1_actionAware");
session.put("session_data","session_data1_actionAware");
application.put("application_data","application_data1_actionAware");
//
return SUCCESS;
}
}
3、请求数据封装 <body>
<form action="${pageContext.request.contextPath }/user_register.action" method="post">
用户名:<input type="text" name="user.name"><br/>
密码:<input type="text" name="user.pwd"><br/>
年龄:<input type="text" name="user.age"><br/>
生日:<input type="text" name="user.birth"><br/>
<input type="submit" value="注册">
</form>
</body>
User public class User {
// 封装请求数据
private String name; // 必须给set / get可以不用给
private String pwd;
private int age;
private Date birth;
public void setName(String name) {
this.name = name;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
public void setAge(int age) {
this.age = age;
}
public void setBirth(Date birth) {
this.birth = birth;
}
public String getName() {
return name;
}
public String getPwd() {
return pwd;
}
public int getAge() {
return age;
}
public Date getBirth() {
return birth;
}
}
(编辑:新余站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐


