SSH框架Action向页面传值差异

SSH框架Action向页面传值差异

SSH框架Action向页面传值方式(本次主要介绍传值方式与jsp取值写法的差异):

方式 一:在Action中声明一个List变量,生成get/set方法,通过自定义的action中的方法往List集合变量中赋值,再在jsp页面通过<s:iterator value="" var="">取值;

方式 二:在Action方法内声明一个List变量,然后通过数据库查询将结果用List集合变量存储,之后通过ServletActionContext.getRequest().setAttribute("list", list);将集合通过request传值到jsp页面,再在jsp页面通过<s:iterator value="" var="">取值;

ServletActionContext.getRequest().setAttribute("list", list)

等同于:HttpServletRequest=ServletActionContext.getRequest();获取request请求

request.setAttribute("list", list);将list集合放入request请求,"list"表示页面取值的name或Id;list表示当前Action的查询结果集;

方式 一Action中get|set传值:

action:

 1 package top.malloc.ssh.action;
 2
 3 import java.util.List;
 4
 5 import javax.servlet.http.HttpServletRequest;
 6
 7 import org.apache.struts2.ServletActionContext;
 8
 9 import top.malloc.ssh.bean.TbBook;
10 import top.malloc.ssh.service.ITbBookService;
11
12 public class BookAction {
13
14     private ITbBookService bookService;
15
16     private TbBook tbbook;
17     //申明List
18     private List< TbBook> list;
19         //产生get|set
20     public List<TbBook> getList() {
21     return list;
22     }
23
24         public void setList(List<TbBook> list) {
25         this.list = list;
26         }
27
28     public ITbBookService getBookService() {
29         return bookService;
30     }
31
32     public void setBookService(ITbBookService bookService) {
33         this.bookService = bookService;
34     }
35
36     public TbBook getTbbook() {
37         return tbbook;
38     }
39
40     public void setTbbook(TbBook tbbook) {
41         this.tbbook = tbbook;
42     }
43
44     public String addBook(){
45         bookService.save(tbbook);
46         System.out.println("success!");
47         return "success";
48     }
49
50     public String selectById(){
51         bookService.findById(tbbook.getBookid());
52         return "success";
53     }
54     //action自定义方法,查询赋值
55     public String selectAll(){
56          list=bookService.findAll();
57         return "list";
58     }
59
60     public String delBook(){
61         bookService.delete(tbbook);
62         return "success";
63     }
64
65     public String updBook(){
66
67         return "success";
68     }
69
70
71 }

private List< TbBook> list;

public List<TbBook> getList() {
        return list;
    }
    public void setList(List<TbBook> list) {
        this.list = list;
    }

public String selectAll(){
//数据库查询赋值
         list=bookService.findAll();
        return "list";
    }

jsp取值:

 1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
 2 <%@ taglib prefix="s" uri="/struts-tags"%>
 3
 4 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 5 <html>
 6 <head>
 7 <title>list.jsp</title>
 8 </head>
 9
10 <body>
11     <s:form action="selectAll_book.action" method="post">
12         <h4 align="center">书籍查询</h4>
13         <table border="3" align="center">
14             <tr>
15                 <td>书名</td>
16                 <td>作者</td>
17                 <td>ISBN</td>
18                 <td>出版社</td>
19             </tr>
20             <s:iterator value="list" var="book">
21             <tr>
22                 <td><s:property value="#book.bookname" /></td>
23                 <td><s:property value="#book.author" /></td>
24                 <td><s:property value="#book.isbn" /></td>
25                 <td><s:property value="#book.publish" /></td>
26                 </tr>
27                 <br />
28             </s:iterator>
29         </table>
30     </s:form>
31 </body>
32 </html>

get|set取值写法:<s:iterator value="list" var="book">

方式 二request传值:

 1 package top.malloc.ssh.action;
 2
 3 import java.util.List;
 4 import org.apache.struts2.ServletActionContext;
 5 import top.malloc.ssh.bean.TbBook;
 6 import top.malloc.ssh.service.ITbBookService;
 7
 8 public class BookAction {
 9
10     private ITbBookService bookService;
11
12     private TbBook tbbook;
13
14     public ITbBookService getBookService() {
15         return bookService;
16     }
17
18     public void setBookService(ITbBookService bookService) {
19         this.bookService = bookService;
20     }
21
22     public TbBook getTbbook() {
23         return tbbook;
24     }
25
26     public void setTbbook(TbBook tbbook) {
27         this.tbbook = tbbook;
28     }
29
30     public String addBook(){
31         bookService.save(tbbook);
32         System.out.println("success!");
33         return "success";
34     }
35
36     public String selectById(){
37         bookService.findById(tbbook.getBookid());
38         return "success";
39     }
40
41     public String selectAll(){
42 //申明list集合变量
43          List list=bookService.findAll();
44 //将集合存入request请求
45          ServletActionContext.getRequest().setAttribute("list", list);
46         return "list";
47     }
48
49     public String delBook(){
50         bookService.delete(tbbook);
51         return "success";
52     }
53
54     public String updBook(){
55
56         return "success";
57     }
58
59
60 }

public String selectAll(){
//申明list集合变量
         List list=bookService.findAll();
//将集合存入request请求
         ServletActionContext.getRequest().setAttribute("list", list);
        return "list";
    }

jsp取值:

 1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
 2 <%@ taglib prefix="s" uri="/struts-tags"%>
 3
 4 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 5 <html>
 6 <head>
 7 <title>list.jsp</title>
 8 </head>
 9
10 <body>
11     <s:form action="selectAll_book.action" method="post">
12         <h4 align="center">书籍查询</h4>
13         <table border="3" align="center">
14             <tr>
15                 <td>书名</td>
16                 <td>作者</td>
17                 <td>ISBN</td>
18                 <td>出版社</td>
19             </tr>
20             <s:iterator value="#request.list" var="book">
21             <tr>
22                 <td><s:property value="#book.bookname" /></td>
23                 <td><s:property value="#book.author" /></td>
24                 <td><s:property value="#book.isbn" /></td>
25                 <td><s:property value="#book.publish" /></td>
26                 </tr>
27                 <br />
28             </s:iterator>
29         </table>
30     </s:form>
31 </body>
32 </html>

request取值:<s:iterator value="#request.list" var="book">

效果演示:

时间: 2024-11-08 22:43:36

SSH框架Action向页面传值差异的相关文章

Struts2的简单使用(四)action向页面传值

在这里我要说一下在action中怎么向页面传值~ 在action中依然可以像以前在servlet里面一样,使用request.session.application向页面传送值,除此之外,action里面还有俩个独有的传值方式:ValueStack  ActionContext 一,先来说说这俩个独有的传值方式~ 1.ValueStack的特点(值栈): 1.把一个对象放到vs里面之后,我们从这个vs中是拿不到这个对象的,但是我们可以直接拿到这个对象里面的属性以及属性值. 2.从vs中拿值的时候

SSH框架学习------struts2前后台传值(二)

struts2的Action类一般都会继承(extends)ActionSupport类(Action类,即实现action的类)1.前传后:jsp里<input type="text" name="username"/>,后台Action类里有变量private String username;及其get(),set()方法即可得到此时,后传前:Action类:1)com.opensymphony.xwork2.ActionContext;定义:Act

struts2 的action 向页面传值

写一个Action类: public class LoginAction{ public String execute(){ return SUCCESS; } public void setValue(SomeBean value){ this.value=value; } public SomeBean getValue(){ return this.value; } private SomeBean value; } 再写出Bean类: public class SomeBean{ pub

【SSH进阶之路】一步步重构MVC实现Struts框架——完善转向页面,大功告成(六)

目录: [SSH进阶之路]Struts基本原理 + 实现简单登录(二) [SSH进阶之路]一步步重构MVC实现Struts框架--从一个简单MVC开始(三) [SSH进阶之路]一步步重构MVC实现Struts框架--封装业务逻辑和跳转路径(四) [SSH进阶之路]一步步重构MVC实现Struts框架--彻底去掉逻辑判断(五) [SSH进阶之路]一步步重构MVC实现Struts框架--完善转向页面,大功告成(六) 第四篇博客[SSH进阶之路]一步步重构MVC实现Struts框架--封装业务逻辑和跳

SSH框架与Action/Service/Dao功能划分介绍

1. Action/Service/Dao简介: Action是管理业务(Service)调度和管理跳转的. Service是管理具体的功能的. DAO只完成增删改查,虽然可以1-n,n-n,1-1关联,模糊.动态.子查询都可以.但是无论多么复杂的查询,dao只是封装增删改查.至于增删查改如何去实现一个功能,dao是不管的. 现在最基本的分层方式,结合了SSH架构: Model层就是对应的数据库表的实体类. Dao层是使用了Hibernate连接数据库.操作数据库(增删改查). Service层

SSH 框架打开项目自动执行action的一种方法

web.xml不配置任何东西 <welcome-file-list> <welcome-file></welcome-file> </welcome-file-list></span> 如上,为什么不把<welcome-file></welcome-file>也出掉,因为出掉之后会提示标签不完整. struts.xml如下 <action name="" class="index&quo

Struts2框架action路径问题心得----》页面url请求怎么找action

Struts2 页面url请求怎么找action Struts2 页面url请求如何找action 1.我们使用最原始的方法去查找action,不同注解. struts.xml文件先配置 <!-- 新闻信息action --><action name="newsInfoAction" class="com.xxx.NewsInfoAction"><result name="add">news/addNewsIn

mui框架开发aop的跨页面传值

mui开发跨平台app,其实不乏会涉及到跨页面传值,今天给大家简单介绍一种常用也是简单的传值方法 咱在这里设置一个场景,就是两个页面进入到同一页面展示不同的元素,此时需要在这两个页面各自设置一个区别的标签传递到那个要进入的页面,此时写法如下: 其中一个页面的传值如下: mui.openWindow({ //要跳转的页面地址 url: 'newsShow.html', //要跳转的页面id d: 'newsShow', //页面出现方式 show: { aniShow: 'pop-in' }, /

SSH框架(1)

一. SSH框架相关的面试题: 1.  BeanFactory的作用是什么?   [中] BeanFactory是配置.创建.管理bean的容器,有时候也称为bean上下文.Bean与bean的依赖关系,也是由BeanFactory负责维护的. 2.  bean在spring的容器中两种基本行为是什么? [中] Singleton:单态   Non-singleton或prototype:原型 3.  spring配置文件中的ref元素的作用是什么?它的两个基本属性是什么?  [中] 用于指定属