概述
上一篇博客中讲了struts2的配置以及实现了一个简单的helloWorld程序。这一片博客讲一下如何使用get/set函数来自动获取/设置参数值。
1.打开eclipse,新建一个名为SecondLearnStruts2Chap02的Dynamic Web Project;(工程创建方法参考上一篇博客)
2.配置过滤器,这里不再给出代码;
3.新建一个HelloWorldAction类,作为struts2的处理类(类名及该类所在的包名与上一篇博客相同),在类中定义一个name变量,并生成该变量的get和set函数:
package com.test.action;
import com.opensymphony.xwork2.Action;
public class HelloWorldAction implements Action{
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String execute() throws Exception {
System.out.println("执行了Action的默认方法");
return SUCCESS;
}
}
4.建立struts.xml配置文
<package name="helloWorld" extends="struts-default">
<action name="hello" class="com.test.action.HelloWorldAction">
<result name="success">helloWorld.jsp</result>
</action>
</package>
5.新建一个helloWorld.jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
hello ${name }!
</body>
</html>
6.运行程序,打开浏览器请求hello并传一个值,运行结果如图:HelloWorldAction
神奇的发现,页面中竟然取到了我们在请求时传入的值。
现在总结下程序的流程:我们在处理类HelloWorldAction中定义了一个String类型的名为name变量,并生成了name变量的get和set函数。当我们在浏览器中请求hello,并带着了一个名为name的参数值,拦截器拦截到我们的请求后根据配置把给请求交给HelloWorldAction处理,请求中带了参数值,拦截器会调用HelloWorldAction中同名变量(也就是name变量)的set函数,从而把传入的值赋值给类中的变量。HelloWorldAction类执行默认的execute函数并返回success,根据配置跳转到helloWorld.jsp页面。这个页面上使用$表达式取name变量的值,这里拦截器会执行处理类中同名变量(也就是name变量)的get函数,得到处理类中对应变量的值。
以后的应用中,当需要从前台web页面传值给后台Java程序的某个变量时,前台中只需使用与这个变量同名的参数传值即可(前提是Java程序中的变量一定要生成get和set函数),这样struts2会自动给处理类中的变量赋值。同样的,后台向前台传值时,前台可以直接使用${变量名 }的方式取到处理类中相应变量的值。
最后
以上就是瘦瘦网络为你收集整理的J2EE系列之Struts2学习笔记(二)---使用get/set方法自动获取/设置参数值的全部内容,希望文章能够帮你解决J2EE系列之Struts2学习笔记(二)---使用get/set方法自动获取/设置参数值所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复