基于struts研究传值问题
一、新建项目 struts
1.file——>new——>Web Project——>取名struts——>finsh——>将之前项目下的jar包copy到该项目下
2.新建packege action——>新建类class StudentAction——>继承至ActionSupport——>finsh


二、编辑项目。
1. 打开StudentAction——>右键source——>@override/Implement Method——>excute()——>重写excute方法
package action;
import com.opensymphony.xwork2.ActionSupport;
public class StudentAction extends ActionSupport {
/**
*
*/
private static final long serialVersionUID = 1L;
private String stuName;
public String getStuName() {
return stuName;
}
public void setStuName(String stuName) {
this.stuName = stuName;
}
@Override
public String execute() throws Exception {
if(true){
return "success";
}else
return "error";
}
}
2.配置struts.xml文件,需要注意action 的name属性值是多少,尽量不要用敏感词“login” 以及class
<action name="studentlogin" class="action.StudentAction">
<result name="success">/demo.jsp</result>
</action>
3. 编辑首页 index.jsp,这里的action必须要与structs.xml中的name一致,否则action 将找不到对应的对象,报错。当点击按钮“点击”时,即可跳转到客户想要的界面
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
<body>
<form action="studentlogin.action" method="post">
<input type="submit" value="点击"/><br>
</form>
</body>
</html>
4. 编辑demo.jsp,显示三种传值方法的主要界面;由此可知,赋值方法不一,但是万变不离其宗,只要不要漏掉重要的属性:value,即可传值成功。
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib uri="/struts-tags" prefix="s" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>bean标签</title>
</head>
<body>
<s:bean name="action.StudentAction" id="stu">
在bean标签内部可以直接输出:<br>
<s:param name="stuName">刘备</s:param>
(1)第一种赋值方式:
<s:property value="stuName"/><br>
(2)第二种赋值方式:
<!-- 该方法为参数赋值字符串必须加引号 -->
<s:param name="stuName" value="'刘备'"></s:param>
<s:property value="stuName"/>
</s:bean>
<br>
在bean标签外部利用id取值:
<s:property value="#stu.stuName"/>
</body>
三、调试,运行。
1. 部署项目在tomcat下,在地址栏输入将要运行的项目struts,此时显示的结果只有“点击”一个按钮,是预想的效果。

2. 单击 “点击” 按钮;从地址栏中可以看到 tomcat服务器访问的是action,以及赋值成功

四、总结,体会。
1. 使用 struts技术简单赋值,由于对该标签不是很熟悉,导致在写代码时经常犯低级错误,对于它的很多常用标签运用生疏,前怕狼后怕虎。
2.总是把这些很简单的问题复杂化,缺少磨炼的机会,java基础薄弱。
3.对于该标签的关键点把握不住,需要多次实践才能体会其中的奥妙。
4.使用 struts 需要掌握它的基本属性,以及深刻体会其工作原理才能搞清楚action的访问路径,不至于总是在一个胡同里打转。
基于struts研究传值问题的更多相关文章
- 寻找研究基于NS2研究覆盖网络的小伙伴:)
如题,本人菜鸟刚刚入门,想找些基于NS2研究覆盖网络方面的小伙伴,具体点是关于覆盖网络中QoS服务调度方法方面的,有的小伙伴可以留下联系方式,或者加我QQ:245939069 :P:P:P
- 简述基于Struts框架Web应用的工作流程
简述基于Struts框架Web应用的工作流程 解答:在web应用启动时就会加载初始化ActionServlet,ActionServlet从struts-config.xml文件中读取配置信息,把它们 ...
- [转]Struts form传值
Struts form传值 大约三四个月没用过struts框架,突然想拾起来,却发现好多都忘了.出现传值传不过来的问题.没办法,上网查了一下,看见了一位老师的帖子,总结的很好.特此转载与分享,文末附链 ...
- GPS部标平台的架构设计(三) 基于struts+spring+hibernate+ibatis+quartz+mina框架开发GPS平台
注意,此版本是2014年研发的基于Spring2.5和Struts2的版本,此版本的源码仍然销售,但已不再提供源码升级的服务,因为目前我们开发的主流新版本是2015-2016年近一年推出的基于spri ...
- Struts 2(三):示例→基于Struts 2的用户注册模块
示例→基于Struts2的用户注册模块 1.用户注册模块需求描述 在用户注册页面中填写用户信息,包括用户名.用户密码.确认密码.姓名等信息,填写完成后提交注册表单给Struts 2的业务控制器Acti ...
- EKFiddle:基于Fiddler研究恶意流量的框架
转载自FreeBuf.COM EKFiddle是一个基于Fiddler web debugger的,用于研究漏洞利用套件.恶意软件和恶意流量的框架. 安装 下载并安装最新版本的Fiddler http ...
- 初步配置基于Struts的maven的Web项目demo
1.创建mavenweb项目 eclipse | Idea 中创建maven项目,具体步骤PASS. 2.导入Struts2核心架包 Idea中在maven项目上,选择ADD FRAMEWORK ec ...
- Java Web整合开发实战:基于Struts 2+Hibernate+Spring 目录
第1篇 Java Web开发基础第1章 Web的工作机制( 教学视频:31分钟) 1.1 理解Web的概念 1.1.1 Web的定义 1.1.2 Web的三个核心标准 1.2 C/S与B/S两种软件体 ...
- struts jsp传值到action,乱码的解决方案
使用了Struts框架,前台写好了编码为utf-8 <%@ page language="java" contentType="text/html; charset ...
随机推荐
- Python基础数据类型-字符串(string)
Python基础数据类型-字符串(string) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客使用的是Python3.6版本,以及以后分享的每一篇都是Python3.x版 ...
- Spark2.1.0安装
1.解压安装spark tar zxf spark-2.1.O-bin-2.6.0-CDH5.10.0.tgz 2.修改配置文件 vim /etc/profile export SPARK_HOME= ...
- (原创)高仿360云盘android端的UI实现
前些日子几大互联网巨头展开了一轮网盘空间大战.一下子从G级别提高到了T级别.以后谁的空间没有1T估计都不好意思开口了~~~ 试用了一下360云盘的客户端,比较小清新(不是给360打广告~~~).刚好U ...
- Python 入门基础13 --模块与包
本节内容: 一.模块及使用 1.模块及使用 2.起别名.from导入 3.自执行与模块 二.包的使用 2.1 包中模块的使用:import 2.2 包的嵌套 2.3 包中模块的使用:from ...i ...
- gflags命令行参数解析
gflags库是google开源的命令行参数解析工具. 安装 官方没有提供二进制库,但是Debian/Ubuntu平台本身提供了二进制库,可以直接git clone https://github.co ...
- 如何用ModelsimSE仿真IP核-以PLL为例
我们之前介绍了如何使用Modelsim SE进行仿真和利用do文件的仿真方法,但是其中待仿真的模块是我们自己编写的Verilog模块,但是在实际工作中,我们的设计中会经常用到FPGA厂商给我们提供的现 ...
- 【转】linux的特殊符号与正则表达式
[转]linux的特殊符号与正则表达式 第1章 linux的特殊符号 1.1 通配符 * {} 1.1.1 含义 方便查找文件 通配符是用来找文件名字的. 1.1.2 * 通过find 命令找以 . ...
- 梯度优化算法总结以及solver及train.prototxt中相关参数解释
参考链接:http://sebastianruder.com/optimizing-gradient-descent/ 如果熟悉英文的话,强烈推荐阅读原文,毕竟翻译过程中因为个人理解有限,可能会有谬误 ...
- SHA1算法原理
一.SHA1与MD5差异 SHA1对任意长度明文的预处理和MD5的过程是一样的,即预处理完后的明文长度是512位的整数倍,但是有一点不同,那就是SHA1的原始报文长度不能超过2的64次方,然后SHA1 ...
- (DT系列五)Linux kernel 是怎么将 devicetree中的内容生成plateform_device【转】
转自:https://blog.csdn.net/lichengtongxiazai/article/details/38942033 Linux kernel 是怎么将 devicetree中的内容 ...