• 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 }
    View Code

    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>
    View Code

    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 }
    View Code

    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>
    View Code

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

    效果演示:

     

     

     

     

  • 相关阅读:
    使用SandCastle生成代码注释文档
    如何修改默认的ModelState错误提示:字段{0}必须是一个数字
    2011总结 致:过去的30年
    CentOS下安装、配置Nginx,配合IIS做负载均衡
    灵活应用js调试技巧解决样式问题
    扩展IList对象,实现深拷贝扩展方法
    IE8对JS数组,采用属性遍历的解析差异
    如何开始Github
    Response.Clear 还是 Response.ClearHeaders
    URLRoutingModule如何处理静态文件?
  • 原文地址:https://www.cnblogs.com/mallocxw/p/4775349.html
Copyright © 2020-2023  润新知