基于struts研究传值问题

1.新建项目 struts,取名struts,点击finsh后,然后将之前项目下的jar包copy到该项目下。

2.新建packege  action,new一个class StudentAction并继承至ActionSupport点击finsh。

3.打开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";
}
}

4.配置struts.xml文件,需要注意action 的name属性值是多少,尽量不要用敏感词“login” 以及class,具体代码如下:

<action name="studentlogin" class="action.StudentAction">
<result name="success">/demo.jsp</result>
</action>

5.编辑首页 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>

6.编辑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>

7.调试,运行:

部署项目在tomcat下,在地址栏输入将要运行的项目struts,此时显示的结果只有“点击”一个按钮,是预想的效果。然后单击 “点击” 按钮;从地址栏中可以看到 tomcat服务器访问的是action,以及赋值成功

8.总结

我们总是把这些很简单的问题复杂化,这一切都是由于对该标签不是很熟悉,导致在写代码时经常犯低级错误,对于该标签的关键点也把握不住,在以后的时间里我希望自己能改掉这一系列问题。

时间: 2024-08-28 07:36:13

基于struts研究传值问题的相关文章

JSP JavaWEB 验证码的实现 基于struts验证码实现

验证码的作用和实现 验证码的作用,很常见的就是登录与注册,或者在贴吧,一些BBS等多处用于防止恶意攻击的.So,web开发者应该学会验证码的设计和实现,我们在开发web项目的时候,当涉及到登录,注册等功能时,我应该采用验证码技术,防止我我们开发的项目是相对于没有验证码的安全点.验证码只是防止机器的批量等暴力攻击,如果是Hacker,那验证码也只是炮灰了 ^-^. 验证码的实现过程:四个步骤搞定~ (由于小弟最近在学习struts,所以本次验证码实现是基于struts的) 一,既然是在struts

Struts form传值

Struts form传值 大约三四个月没用过struts框架,突然想拾起来,却发现好多都忘了.出现传值传不过来的问题.没办法,上网查了一下,看见了一位老师的帖子,总结的很好.特此转载与分享,文末附链接. 在Eclipse中建立第一个Struts2程序中我们建立了第一个struts程序,那么如何把登陆页面中的用户名传递到登录成功的页面中呢? 有三种方式, 1,使用默认的action的传递方式. 2,自定义一个vo,在action中使用这个vo 3,使用ModelDriven的方式. 下面分别叙述

基于Struts+Hibernate开发过程中遇到的错误

1.import  javax.servlet.http.HttpServletRequest 导入包出错 导入包出错,通常是包未引入,HttpServletRequest包是浏览器通过http发出的请求, 需要将tomcat/lib 目录下的 servlet-api.jar导入.但是导入后仍然不行,重启eclipse也无法让他生效 最后通过 project -clean来生效的. 2.JSP界面中加入了form标签后就报错 解决办法:将tomcat/lib目录下的el-api,ecj-4.3.

基于struts 2.3的家政服务平台V2.0粉色主题-java家政服务平台家政网mysql

基于struts 2.3的家政服务平台V2.0粉色主题-java家政服务平台家政网mysql数据源 1.包含源程序,数据库脚本.2.课题设计仅供参考学习使用,可以在此基础上进行扩展完善.开发环境:Eclipse ,MySQL 5.1,JDK1.7,Tomcat 7涉及技术点:MVC模式.JavaWeb.Struct.JDBC.HTML.CSS.JQUERY.Maven.C3P0.分页.文件上传.购物车等.实现功能:充值.购买歌曲.poi数据导入导出.歌曲上传下载.歌曲播放.用户注册登录注销,管理

struts标签传值

纠结到现在,还好试出来了 JSP页面使用struts标签向action传值:<s:param name="xxx" value="%{#session.stu_id}"/> xxx表示你javabean对象,stu_id为session中的值

基于Struts自定义MVC-1

自定义MVC        数据库:Oracle表:User(id,uname,upwd)自定义Struts框架 一.定义Action接口 1 import javax.servlet.http.*; 2 3 public interface Action { 4 /** 5 * 执行方法 6 * @return 7 */ 8 String execute(HttpServletRequest request,HttpServletResponse response); 9 } 二.根据特定功能

基于struts环境下的jquery easyui环境搭建

下载地址: http://download.csdn.net/detail/cyberzhaohy/7348451 加入了json包:jackson-all-1.8.5.jar,项目结构例如以下: 測试网址: http://localhost:9090/jquery-easyui-1.2.6BasedonStruts/layout.jsp 效果图例如以下: 配置文件web.xml: <?xml version="1.0" encoding="UTF-8"?&g

Struts+Hibernate+Spring面试题合集及答案

Struts+Hibernate+Spring面试题合集及答案 Struts+Hibernate+Spring面试题合集 1 1. Hibernate部分 2 1.1. Hibernate工作原理 2 1.2. 什么是Hibernate的并发机制?怎么处理并发问题? 2 1.3. Hibernate自带的分页机制是什么?如果不使用Hibernate自带的分页,则采用什么方式分页? 3 1.4. hibernate的对象的三种持久化状态,并给出解释? 3 1.5. hibernate的三种状态之间

Struts 2.x仍然明显落后于时代。 Struts 2.x这一类老牌Web MVC开发框架仅能用于开发瘦客户端应用,无法用来开发对于交互体验要求更高的应用。

后来我在工作中陆续使用过Struts 1.x和Struts 2.x.我曾经把一个开源的基于Struts 1.x的自助式广告联盟应用移植到Spring MVC,还基于Struts 2.x做过网站开发.Struts 1.x的主要问题是框架的侵入性太大,不利于代码重用和单元测试.Struts 2.x确实进步很大,完全基于POJO,学习曲线低了很多,还支持零配置(不需要XML配置,甚至也不需要Annotation).尽管如 此,Struts 2.x仍然明显落后于时代.  Struts 2.x这一类老牌W