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后面的参数。

结果如下:

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

后台输出如下:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/292259.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HTTP—缓存

1. ETag HTTP 1.1中引入了ETag来解决缓存的问题。ETag全称是Entity Tag&#xff0c;由服务端生成&#xff0c;服务端可以决定它的生成规则。如果根据文件内容生成散列值。那么条件请求将不会受到时间戳的改动造成带宽浪费。下面是根据内容生成散列值的方法&#xff1a; 1 var g…

盖茨被逐出微软董事会真相曝光:长期跟员工搞地下情,27年婚姻中出轨不断,人设已崩...

全世界只有3.14 % 的人关注了爆炸吧知识转自&#xff1a;量子位作者&#xff1a;梦晨 鱼羊2020年3月&#xff0c;在比尔盖茨辞去微软董事会职务的时候&#xff0c;人们都在感慨一代互联网大拿&#xff0c;纷纷都到了交接班的时候。万万没想到&#xff0c;一年多之后&#xff0c…

Natasha 4.0 探索之路系列(二) 「域」与插件

域与ALC在 Natasha 发布之后有不少小伙伴跑过来问域相关的问题&#xff0c;能不能兼容 AppDomain、如何使用 AppDomain、为什么 CoreAPI 阉割了 AppDomain 等一系列的问题。今天答复一下&#xff1a;首先 AppDomain 作为程序集隔离容器的存在&#xff0c;是风靡了 .NET Framewo…

cake fork什么意思_Java7任务并行执行神器:Forkamp;Join框架

Fork/Join是什么&#xff1f;Fork/Join框架是Java7提供的并行执行任务框架&#xff0c;思想是将大任务分解成小任务&#xff0c;然后小任务又可以继续分解&#xff0c;然后每个小任务分别计算出结果再合并起来&#xff0c;最后将汇总的结果作为大任务结果。其思想和MapReduce的…

linux C语言之called object ‘maze’ is not a function or function pointer printf(“%d\t“, maze(i, j))

今天写广度优先搜索的时候出现了这个问题&#xff0c; 解决办法&#xff1a; 特么我傻逼了&#xff0c;明显是数组&#xff0c;我写成了mate(i, j),然后我改了写成了mate[i, j]; 特么我又傻逼了 改成mate[i][j] 就可以了

Greenplum 数据库架构分析

Greenplum 数据库是最先进的分布式开源数据库技术&#xff0c;主要用来处理大规模的数据分析任务&#xff0c;包括数据仓库、商务智能&#xff08;OLAP&#xff09;和数据挖掘等。自2015年10月正式开源以来&#xff0c;受到国内外业内人士的广泛关注。本文就社区关心的Greenplu…

Blog.Core高级进阶:共赴五年之约

读书破万卷&#xff0c;下笔如有神。佳著荐大家马上新年好呀&#xff0c;还有七天就是春节了&#xff0c;2022年是真真正正的到来了&#xff0c;老张打算在新的一年里&#xff0c;继续为开源社区做贡献&#xff0c;Blog.Core开源项目也正式进入第五个年头了&#xff0c;是时候作…

stringredistemplate设置过期时间_Redis的过期删除策略和内存淘汰机制

Redis的key可以设置过期时间&#xff0c;那是否意味着时间一到就会马上被删除呢&#xff1f;Redis的数据存储大小是有限的&#xff0c;假如内存不足Redis有什么应对策略呢&#xff1f;本篇文章将介绍一下Redis的过期策略和内存淘汰机制。1、redis的过期策略1.定时删除在设置key…

linux之怎么使vim永久显示行号

1、进入当前用户目录 2、输入下面命令 vim ~/.vimrc 3、退出保存 :x 4、用vim打开文件验证

java.util.ConcurrentModificationException异常

2019独角兽企业重金招聘Python工程师标准>>> <p> 今天遇到了一个小bug&#xff0c;在对ArrayList操作时出现了java.util.ConcurrentModificationException异常。原来是arrary在遍历时&#xff0c;是不能删除其中的对象的。 for(MediaFeedData item : Item…

eclipse中git插件配置 编辑

一、Eclipse上安装GIT插件EGit EGit插件地址&#xff1a;http://download.eclipse.org/egit/updates OK&#xff0c;随后连续下一步默认安装就可以&#xff0c;安装后进行重启Eclipse 二、在Eclipse中配置EGit 准备工作&#xff1a;需要在https://github.com 上注册账号 Prefer…

使用 C# 开发 Kubernetes 组件,获取集群资源信息

写什么呢前段时间使用 C# 写了个项目&#xff0c;使用 Kubernetes API Server&#xff0c;获取信息以及监控 Kubernetes 资源&#xff0c;然后结合 Neting 做 API 网关。体验地址 http://neting.whuanle.cn:30080/账号 admin&#xff0c;密码 admin123本篇文章主要介绍&#xf…

whitelabel error page什么意思_什么是RESTful API?总算能说清楚了

要弄清楚什么是RESTful API,首先要弄清楚什么是REST。REST -- REpresentational State Transfer&#xff0c;英语的直译就是“表现层状态转移”。如果看这个概念&#xff0c;估计没几个人能明白是什么意思。那下面就让我来用一句人话解释一下什么是RESTful:URL定位资源&#xf…

【转】Asp.net控件开发学习笔记整理篇 - 数据回传

最近一直在做MVC项目&#xff0c;对于WEBFORM 好像快忘记了。周末无聊&#xff0c;顺带看看他人的笔记。再次温习下。 复习大纲&#xff1a; 导航、页面生命周期及其它导论 一、服务器控件生命周期 二、控件开发基础 三、Asp.net服务端状态管理 四、Asp.net客户端状态管理 五、…

BZOJ2326 [HNOI2011]数学作业

首先&#xff0c;列方程 我们定义s[i] 10 ^ ((int) log(i)) 于是&#xff0c;f[i] (f[i - 1] * s[i] i) % p 反正总之就是个沙茶递推 然后我们来看优化。。。怎么感觉像矩阵乘法呢&#xff1f; 发现要按照log(i)即i的位数分类讨论&#xff0c;在相同位数的时候令矩阵为 s[i]…

简直不敢相信!这个史上最被低估的学科,看完竟瑟瑟发抖!

▲ 点击查看历史&#xff0c;无疑是大众参与度较高的知识性学科之一&#xff0c;既没有艰深的原理和公式&#xff0c;也不需要较高的欣赏能力。不仅门槛低&#xff0c;而且具有故事性&#xff0c;容易形成话题&#xff0c;茶余饭后&#xff0c;几乎每个人、每个孩子都能谈论几句…

一款强大的Kubernetes API流量查看神器

点击上方蓝字关注 &#x1f446;&#x1f446;大家好&#xff0c;我是小碗汤&#xff0c;今天分享一个k8s流量查看器~mizu。mizu 是为 Kubernetes 提供的一个简单而强大的 API 流量查看器&#xff0c;可以查看微服务之间的所有 API 通信&#xff0c;以帮助调试和排除故障。相当…

辉光UIView的category

辉光UIView的category 本人视频教程系类 iOS中CALayer的使用 效果如下&#xff1a; 源码&#xff1a; UIViewGlowView.h 与 UIViewGlowView.m // // UIViewGlowView.h // YouXianClock // // Created by YouXianMing on 14-12-21. // Copyright (c) 2014年 YouXianMing. …