在struts2中,提供了名称为ActionContext的类来获得ServletApi。创建ActionContext 类对象的语法格式如下:
ActionContext ac=ActionContext.getContext();
下面创建一个实例,演示struts2中的Action是如何通过ActionContext访问servletApi的。该实例的作用就是从网页客户端传送数据过来,通过action的处理,再把处理好的数据传送在客户端网页上显示。
具体步骤如下:
第一步:在项目中创建ServletApiAction的类,代码如下:
package cn.test.action;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class ServletApiAction extends ActionSupport{
private String username;
private String password;
private String sex;
private String age;
public String addUI() throws Exception{
return "addUI";
}
@Override
public String execute() throws Exception {
// TODO Auto-generated method stub
ActionContext ac=ActionContext.getContext();
ac.getApplication().put("username", username);
ac.getApplication().put("password",password);
ac.getApplication().put("sex",sex);
ac.getParameters().put("age", age);
return "addSuccess";
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
}
第二步:配置struts.xml文件
<action name="*" class="cn.test.action.ServletApiAction" method="{1}">
<result name="addSuccess">/WEB-INF/jsp/addSuccess.jsp</result>
<result name="addUI">/WEB-INF/jsp/addUI.jsp</result>
</action>
第三步:创建addUI.jsp,代码如下
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<s:form action="execute">
<s:textfield name="username" label="用户名" size="15"></s:textfield>
<s:textfield name="age" label="年龄" size="15"></s:textfield>
<s:password name="password" label="密码" size="15"></s:password>
<s:radio list="#{'男':'男','女':'女'}" name="sex" lable="性别" listKey="key" listValue="value"></s:radio>
<s:submit value="添加用户" align="center"></s:submit>
</s:form>
</html>
第四步:创建addSuccess.jsp,代码如下:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<table cellpadding="0" cellspacing="0" width="20%" align="center">
<tr>
<th>用户名</th>
<th>密码</th>
<th>性别</th>
<th>年龄</th>
</tr>
<tr>
<td><s:property value="#application.username"/></td>
<td><s:property value="#application.password"/></td>
<td><s:property value="#application.sex"/></td>
<td><s:property value="#parameters.age"/></td>
</tr>
</table>
</html>
第五步:部署项目,启动tomcat,在浏览器中输入:http://localhost:8080/MyWeb/addUI
今天就到这里了
相关推荐
servlet-api-2.5.jar和jsp-api-2.1.jar
Struts2访问ServletAPI
slf4j-api-1.7.12.jar, spring-aop-3.0.5.RELEASE.jar, spring-asm-3.0.5.RELEASE.jar, spring-beans-3.0.5.RELEASE.jar, spring-context-3.0.5.RELEASE.jar, spring-core-3.0.5.RELEASE.jar, spring-expression-...
log4j-api-2.5.jar, ognl-3.1.10.jar, org.apache.felix.framework-4.0.3.jar, org.apache.felix.main-4.0.3.jar, org.apache.felix.shell-1.4.3.jar, org.apache.felix.shell.tui-1.4.1.jar, org.osgi.compendium-...
struts2-tiles-plugin-2.5.10.jar,tiles-api-3.0.7.jar,tiles-autotag-core-runtime-1.2.jar,tiles-core-3.0.7.jar,tiles-el-3.0.7.jar,tiles-freemarker-3.0.7.jar,tiles-jsp-3.0.7.jar,tiles-ognl-3.0.7.jar,tiles...
Struts2中直接和间接访问ServletAPI以及动态方法调用之感叹号
struts2 Action 包 命名空间 servlet APIstruts2 Action 包 命名空间 servlet APIstruts2 Action 包 命名空间 servlet APIstruts2 Action 包 命名空间 servlet APIstruts2 Action 包 命名空间 servlet APIstruts2 ...
2、使用struts2提供的ActionContext类直接获取Servlet API。 在同一个项目中,如果既用到servlet又用了struts框架,运行项目时可能无法正常使用servlet,解决办法如下: 该类是定义了一个过滤器,当既用到struts2...
详细讲解了struts2的Action访问ServletAPI的几种方法.
包含: MAX的struts2教程 struts2 API(英文版) servlet API(中文版)
详解Struts2中Action访问Servlet API的几种方法 在通常的web开发中Request和Response对象比较常见,但在Struts2框架中由于Action能与JSP页面进行数据交互,所以通常都不会用到这两个对象。如果想在Struts2程序中用到...
mapper-asl-1.9.13.jar javassist-3.15.0-GA.jar jsp-api.jar mysql-connector-java-5.1.18.jar mysql-connector-java-5.1.26-bin.jar ognl-3.0.5.jar ojdbc14-10.2.0.4.jar servlet-api.jar struts2-convention-...
Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts 2可以理解为WebWork的更新产品。虽然从Struts 1到Struts 2有着太大的变化,...
搭建Struts 2 开发环境; 2. 建立一个Web Project(命名为struts_exam1),并添加Struts 2 的相关jar 包; 3. 编写登录页面(login.jsp)、登录成功(login_success.jsp)和登录失败页面(login_fail.jsp); 4. 编写...
Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts 2可以理解为WebWork的更新产品。虽然从Struts 1到Struts 2有着太大的变化,...
Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与Servlet API完全脱离开,所以Struts 2可以理解为WebWork的更新产品。虽然从Struts 1到Struts 2有着太大的变化,...
Struts 2 Action不再依赖于Servlet API,从而允许Action脱离Web容器运行,从而降低了测试Action的难度。 当然,如果Action需要直接访问HttpServletRequest和HttpServletResponse参数,Struts 2 Action仍然可以访问...
NULL 博文链接:https://takeme.iteye.com/blog/1644850
Linux-api jquery-api spring-api springsecurity-api servlet-api struts2-api hibernate-api jdk-api sql-api Extjs-api ibatis-api mysql-api