struts2:JSP页面及Action中获取HTTP参数(parameter)的几种方式
本文演示了JSP中获取HTTP参数的几种方式,还有action中获取HTTP参数的几种方式。
1. 创建JSP页面(testParam.jsp)
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ page isELIgnored="false"%>
<%@ taglib uri="/struts-tags" prefix="s"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>
JSP页面中三种获取HTTP Parameter的方法:
<br/>
1.<s:property value="#parameters.username"/>
<br/>
2.<s:property value="#parameters['remark']"/>
<br/>
3.<%=request.getParameter("username")%>
<br/>
<s:form action="testParam" method="post">
用户名:<s:textfield name="username"></s:textfield>
<br/>
备注:<s:textfield name="remark"></s:textfield>
<br/>
<s:submit value="提交"></s:submit>
<br/>
</s:form>
</body>
</html>
2. 创建Action类(ParameterTestAction.java)
package com.clzhang.struts2.demo4; import java.util.*;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ActionContext;
import org.apache.struts2.ServletActionContext;
import javax.servlet.http.HttpServletRequest; public class ParameterTestAction extends ActionSupport {
public static final long serialVersionUID = 1; private String username;
private String remark; public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
} public String execute() throws Exception {
// 方式一:将参数设置为Action的属性,OGNL会自动填充它
System.out.println("1.把参数作为Action的属性...");
System.out.println("username=" + this.username);
System.out.println("remark=" + this.remark); // 方法二:在Action中使用ActionContext得到包含parameter的Map以获取参数
ActionContext context = ActionContext.getContext();
Map parameterMap = context.getParameters();
String usernameArray[] = (String[]) parameterMap.get("username");
String remarkArray[] = (String[]) parameterMap.get("remark");
System.out.println("2.通过ActionContext.getContext().getParameters()取得...");
System.out.println("username: " + usernameArray[0]);
System.out.println("remark: " + remarkArray[0]); // 方法三:在Action中取得HttpServletRequest对象,常规方法取得
HttpServletRequest request = (HttpServletRequest) context
.get(ServletActionContext.HTTP_REQUEST);
String username = request.getParameter("username");
String remark = request.getParameter("remark");
System.out.println("3.通过HttpServletRequest对象取得...");
System.out.println("username: " + username);
System.out.println("remark: " + remark); return SUCCESS;
}
}
3. 修改struts.xml文件
<action name="testParam" class="com.clzhang.struts2.demo4.ParameterTestAction">
<result name="success">/struts2/demo4/testParam.jsp</result>
</action>
4. 测试
打开IE,输入如下地址:http://127.0.0.1:8080/st/struts2/demo4/testParam.jsp?username=zhang1&remark=that'sok
注意URL后面的参数。
结果如下:

输入用户名:张三,备注:不错的状态,提交,结果如下:

后台输出如下:

struts2:JSP页面及Action中获取HTTP参数(parameter)的几种方式的更多相关文章
- Action 中获取表单数据的三种方式
(尊重劳动成果,转载请注明出处:http://blog.csdn.net/qq_25827845/article/details/53138905 冷血之心的博客) Action 中获取表单提交数据 ...
- Struts2中获取HttpServletRequest,HttpSession等的几种方式
转自:http://www.kaifajie.cn/struts/8944.html package com.log; import java.io.IOException; import java. ...
- Action中取得request,session的四种方式
Action中取得request,session的四种方式 在Struts2中,从Action中取得request,session的对象进行应用是开发中的必需步骤,那么如何从Action中取得这些对象 ...
- Day20-单表中获取表单数据的3种方式
1. 搭建环境请参考:http://www.cnblogs.com/momo8238/p/7508677.html 2. 创建表结构 models.py from django.db import m ...
- Activity启动过程中获取组件宽高的五种方式
第一种:(重写Activity的onWindowFocusChanged方法) /** * 重写Acitivty的onWindowFocusChanged方法 */ @Override public ...
- Spring框架中获取连接池常用的四种方式
1:DBCP数据源 DBCP类包位于 /lib/jakarta-commons/commons-dbcp.jar,DBCP是一个依赖Jakarta commons-pool对象池机制的数据库连接池,所 ...
- SharePoint中获取当前登录的用户名几种方式
第一种方法: System.Web.HttpContext.Current.User.Identity.Name.ToString();或者: SPContext.Current.Site.OpenW ...
- 9.Struts2在Action中获取request-session-application对象
为避免与Servlet API耦合在一起,方便Action类做单元测试. Struts2对HttpServletRequest.HttpSession.ServletContext进行了封装,构造了三 ...
- 在Action中获取表单提交数据
-----------------siwuxie095 在 Action 中获取表单提交数据 1.之前的 Web 阶段是提交表单到 Servlet,在其中使用 Request 对象 的方法获取数据 2 ...
随机推荐
- 用dom4j解析xml 报java.lang.NoClassDefFoundError:org/jaxen/JaxenException
转自:http://www.myexception.cn/java%20exception/95.html 源码如下: import java.io.File; import java.util.Li ...
- ASP.NET Core 1.0 中使用 Swagger 生成文档
github:https://github.com/domaindrivendev/Ahoy 之前文章有介绍在ASP.NET WebAPI 中使用Swagger生成文档,ASP.NET Core 1. ...
- 基于OWIN WebAPI 使用OAuth授权服务【客户端模式(Client Credentials Grant)】
适应范围 采用Client Credentials方式,即应用公钥.密钥方式获取Access Token,适用于任何类型应用,但通过它所获取的Access Token只能用于访问与用户无关的Open ...
- GoDaddy自动续费信用卡被扣款后的退款方法
今天突然收到信用卡被GoDaddy捐款的通知,上GoDaddy网站上一看,是去年购买后来没有使用的一个CA证书被自动续费了.原来在GoDaddy购买的CA证书默认是每年自动续费的,这是一个大坑啊! 当 ...
- Unity3D——相机跟随物体移动
public Transform target; public float moveSmooth=5f; Vector3 offset; void Start () { offset = transf ...
- 2014-3-11 星期二 晴 [卓有成效 master 摸索计划方案]
今日总结: [汇编]:StudyNew+ReView-->[中]上机,还行,学点新知识 [英语]:Study-->[中]发现这个要变得好啦 [----]:lib [----]:lib--& ...
- tomcat通过conf-Catalina-localhost目录发布项目详解
Tomcat发布项目的方式大致有三种,但小菜认为通过在tomcat的conf/Catalina/localhost目录下添加配置文件,来发布项目,是最佳选择. 因为这样对tomcat的入侵性最小,只需 ...
- 1.__tostring()这个方法在类里可以直接输出对象。2.克隆对象的运用
<?php //__tostring()这个方法在类里的用途 能够直接输出对象 class Ren { public $name; function Run() { echo "跑&q ...
- CAS 实现单点登录 .NET MVC
单点登录 Single Sign On,简称为 SSO,是目前比较流行的企业业务整合的解决方案之一.SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统. 单点登录原理 ...
- springmvc中@PathVariable和@RequestParam的区别
顾名思义, @PathVariable和@RequestParam,分别是从路径里面去获取变量,也就是把路径当做变量,后者是从请求里面获取参数. 我的url; http://localhost:808 ...