J2EE系列之Struts2学习笔记(二)---使用get/set方法自动获取/设置参数值

上一篇博客中讲了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配置文



	   	
	   		helloWorld.jsp
	   	
	   	
   


5.新建一个helloWorld.jsp:


<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>




Insert title here


hello ${name }!




6.运行程序,打开浏览器请求hello并传一个值,运行结果如图:HelloWorldAction

J2EE系列之Struts2学习笔记(二)---使用get/set方法自动获取/设置参数值_第1张图片

神奇的发现,页面中竟然取到了我们在请求时传入的值。


现在总结下程序的流程:我们在处理类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会自动给处理类中的变量赋值。同样的,后台向前台传值时,前台可以直接使用${变量名 }的方式取到处理类中相应变量的值。

 
 

你可能感兴趣的:(Java程序开发)