首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在jsp中调用request.getAttribute时,它为空。

问在jsp中调用request.getAttribute时,它为空。
EN

Stack Overflow用户
提问于 2016-07-01 21:14:06
回答 2查看 1.1K关注 0票数 1

它通过单击href来调用Servlet。

代码语言:javascript
复制
    <li ><a href="<%=request.getContextPath() %>/ProviderServlet">privilegeManagement</a></li>

此代码包含在包含在main.jsp中的navigation.jsp中。

然后它就是我的servlet了。

代码语言:javascript
复制
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    // TODO Auto-generated method stub
    ProviderDao pd  = new ProviderDao();
    List<ProviderArchives> list = pd.getArchives();
    String str = "chenfeng";
    req.setAttribute("list", list);
    req.setAttribute("hu" , str);
    getServletContext().getRequestDispatcher("/jsp/main.jsp").forward(req,resp);
}

然后就是我的main.jsp了。

代码语言:javascript
复制
    <%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@page import="java.util.*"%>
<%@page import="com.chenfeng.javabean.ProviderArchives"%>
<%@ taglib prefix="c"    uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>main</title>
</head>
<body>
    <%@ include file="navigation.jsp"%>
    <div>
        <%@ include file="management.jsp"%>
    </div>
    <div>
      <%
             String k = (String)request.getAttribute("hu");
             out.println(k);
      %>
       <c:forEach items="${list}"  var="item">
       <tr> 
        <td>${item.provideID() }</td> 
        <td>${item.GID }</td> 
        <td>${item.Gname }</td> 
        <td>${item.PID }</td> 
        <td>${item.TEL }</td> 
        <td>${item.ADDR }</td>
        <td> 
         <a href="QueryUserByIdServlet?id=${item.provideID }">Modify</a> 
         <a href="DeleteUserServlet?id=${item.provideID }">Delete</a> 
        </td> 
       </tr> 
      </c:forEach> 
    </div>
</body>
</html>

然后,当我在服务器上运行它时,它显示如下

提前感谢您的帮助!

EN

回答 2

Stack Overflow用户

发布于 2016-07-02 23:26:14

实际上,没有理由在我删除code.But目录中的类文件并重新构建它之后,eclipse会遇到problem.The真正的问题日志输出。

票数 0
EN

Stack Overflow用户

发布于 2016-07-01 21:31:14

这是很清楚的。在转发Servlet Context Object时设置Request Object的attribute。而不是:

代码语言:javascript
复制
getServletContext().getRequestDispatcher("/jsp/main.jsp").forward(req,resp);

写入:

代码语言:javascript
复制
req.getRequestDispatcher("/jsp/main.jsp").forward(req,resp);
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38146400

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档