struts2学习笔记系列(四)

今天介绍action之间的传值:通过在struts.xml文件中进行设置,并在最终的jsp页面中显示传递的值

一、新建项目,并建立两个action,传值在这两个action中进行。

     login.java

 1 package com;
 2 
 3 public class Login {
 4     private String MyContent;
 5     public String execute() {
 6         this.setMyContent("123456789");
 7         return "chuandi";
 8     }
 9     public String getMyContent() {
10         return MyContent;
11     }
12     public void setMyContent(String myContent) {
13         MyContent = myContent;
14     }
15     
16 }

     MyContent就是传递的值,在这个action中为其赋值。
     list.java

 1 package com;
 2 
 3 import java.util.ArrayList;
 4 
 5 import com.sun.org.apache.bcel.internal.generic.NEW;
 6 
 7 public class List {
 8     private String content;
 9     private ArrayList bookList = new ArrayList();
10     
11     public String getContent() {
12         return content;
13     }
14 
15     public void setContent(String content) {
16         this.content = content;
17     }    
18 
19     public ArrayList getBookList() {
20         return bookList;
21     }
22 
23     public void setBookList(ArrayList bookList) {
24         this.bookList = bookList;
25     }
26 
27     public String execute() {
28         bookList.add("book1");
29         bookList.add("book2");
30         bookList.add("book3");
31         bookList.add("book4");
32         bookList.add("book5");
33         return "bookListJsp";
34     }
35 }

     二、在struts.xml文件中配置

 1 <?xml version="1.0" encoding="GBK" ?>
 2 <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
 3 <struts>
 4 <constant name="struts.il8n.encoding" value="gb2312"/>
 5     <package name="struts2" extends="struts-default" namespace="/">
 6         <action name="login" class="com.Login">
 7             <result name="chuandi" type="redirectAction">
 8                 <param name="actionName">List</param>
 9                 <param name="content">${MyContent}</param>
10             </result>
11         </action>
12         <action name="List" class="com.List">
13             <result name="bookListJsp">/WEB-INF/content/MyJsp.jsp</result>
14         </action>
15     </package>
16 </struts>    

     在这段代码中constant是配置常量,name和value属性是必须的属性!指定struts中的字符编码是gb2312.
     <param name="content">${MyContent}</param>是设置传递的参数,在新建的jsp页面中显示的参数必须是“content”,而MyContent必须好login.java中的一样!

   三、新建jsp页面

  MyJsp.jsp

 1 <body>
 2     <center>
 3         这是传递的参数:${param.content}--在这里显示 <br>
 4         <c:forEach var="bookName" items="${bookList}">
 5             <c:out value="${bookName}">
 6             </c:out>
 7             <br>
 8         </c:forEach>
 9     </center>
10 </body>

在浏览器中输入地址:  http://localhost:8080/strutsTest3/login.action

最终显示的页面如下:

 

   

 

posted on 2012-12-03 20:55  架构师之路  阅读(544)  评论(2编辑  收藏  举报