Struts2接受请求参数


在接受请求参数的时候,Struts给我们封装了较好的功能,使得接受请求参数变的很简单,下面分别来演示GET POST方法接受请求参数。

其实Struts对于POST和SET方法接受请求参数的设置是一样的,因为底层都是调用request.getParameter()方法。

首先需要写好Action处理类

[java]

  1. package com.bird.action;  
  2.   
  3. import com.bird.bean.Person;  
  4.   
  5. public class HelloWorld {  
  6.     private Integer id;  
  7.     private String name;  
  8.     private Person person;  
  9.       
  10.     public Person getPerson() {  
  11.         return person;  
  12.     }  
  13.   
  14.     public void setPerson(Person person) {  
  15.         this.person = person;  
  16.     }  
  17.   
  18.     public Integer getId() {  
  19.         return id;  
  20.     }  
  21.   
  22.     public void setId(Integer id) {  
  23.         this.id = id;  
  24.     }  
  25.   
  26.     public String getName() {  
  27.         return name;  
  28.     }  
  29.   
  30.     public void setName(String name) {  
  31.         this.name = name;  
  32.     }  
  33.   
  34.     public String execute(){  
  35.       
  36.         return "success";  
  37.     }  
  38.       
  39.     public String addUI(){  
  40.       
  41.         return "success";  
  42.     }  
  43. }  
要提供set  和get方法使其变为属性,从而令struts能够调用,还有就是在struts.xml文件中要把这个Action配置好。

然后在浏览器中输入一下地址就可以了

http://localhost:8080/Struts2/test/helloworld.action?id=1&name=xxx

对于POST也是一样的,注意一下字符编码的控制,一般来说,默认是UTF-8,所以应该是没问题的。

下面介绍复合参数的接受方法

首先建立一个Person    Bean

[java]

  1. package com.bird.bean;  
  2.   
  3. public class Person {  
  4.     private Integer id;  
  5.     private String name;  
  6.     public Integer getId() {  
  7.         return id;  
  8.     }  
  9.     public void setId(Integer id) {  
  10.         this.id = id;  
  11.     }  
  12.     public String getName() {  
  13.         return name;  
  14.     }  
  15.     public void setName(String name) {  
  16.         this.name = name;  
  17.     }  
  18.       
  19. }  
然后建立一个表单界面

[java]

  1. <form action="/Struts2/test/helloworld.action" method="post">  
  2.         id:<input type="text" name="person.id">  
  3.         name:<input type="text" name="person.name">  
  4.         <input type="submit" value="提交">  
  5.   </form>  
提交的就是直接使用点符号隔开,然后显示界面

[java]

  1. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%>  
  2.   
  3. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
  4. <html>  
  5.   <head>  
  6.     <title>My JSP 'hello.jsp' starting page</title>  
  7.       
  8.   </head>  
  9.     
  10.   <body>  
  11.    id = ${person.id }<br>  
  12.    name = ${person.name }  
  13.   </body>  
  14. </html>  
Struts内部使用反射技术将这些请求参数放入到指定的地方,然后才能使用EL表但是获取,总之还是推荐使用复合参数的获取吧,那样Action代码简便而且好增加功能维护

相关内容