zoukankan      html  css  js  c++  java
  • struts2查询的数据的存放

    当我们查询数据的时候,把它存放到一个位置。以供页面显示。

    1:使用***Map取代内置对象存放

    public String query(){
            ActionContext.getContext().put("categoryList", categoryService.query());
            ActionContext.getContext().getSession().put("categoryList", categoryService.query());
            ActionContext.getContext().getApplication().put("categoryList", categoryService.query());
    
            return "index";
        }

    对应的页面的显示

    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        
        <title>My JSP 'index.jsp' starting page</title>
      </head>
      
      <body>
       <a href="${pageContext.request.contextPath }/category_update.action">访问update</a>
          <a href="category_query.action">查询所有类别</a><br/>
          <c:forEach items="${requestScope.categoryList}" var="category">
              ${category.id }|${category.type }|${category.hot}<br/>
          </c:forEach><br/>
        <c:forEach items="${sessionScope.categoryList}" var="gory">
              ${gory.id }|${gory.type }|${gory.hot}<br/>
          </c:forEach><br/>
          <c:forEach items="${applicationScope.categoryList}" var="category">
              ${category.id }|${category.type }|${category.hot}<br/>
          </c:forEach><br/>
      </body>
    </html>

    方案2:

    利用接口implements RequestAware,ApplicationAware,SessionAware

    package lw.shop.action;
    
    import java.util.Map;
    
    import org.apache.struts2.interceptor.ApplicationAware;
    import org.apache.struts2.interceptor.RequestAware;
    import org.apache.struts2.interceptor.SessionAware;
    
    import com.opensymphony.xwork2.ActionSupport;
    
    public class BaseAction extends ActionSupport implements RequestAware,ApplicationAware,SessionAware{
        protected Map<String,Object> request;
        protected Map<String,Object> session;
        protected Map<String,Object> application;
        @Override
        public void setSession(Map<String, Object> session) {
            this.session=session;
        }
    
        @Override
        public void setApplication(Map<String, Object> application) {
            this.application=application;
        }
    
        @Override
        public void setRequest(Map<String, Object> request) {
            this.request=request;
        }
    }

    然后Action继承BaseAction就可以了。

  • 相关阅读:
    mysqlnd cannot connect to MySQL 4.1+ using old authentication
    nginx中查看关于php的配置和php-fpm的重启等操作
    nginx中查看关于php的配置和php-fpm的重启等操作
    linux面试题1
    linux笔试
    面试题
    shell脚本实例
    shell脚本
    mysql主从复制
    Discuz!NT静态文件缓存(SQUID)
  • 原文地址:https://www.cnblogs.com/bulrush/p/5871558.html
Copyright © 2011-2022 走看看