【问题标题】:Get method when page loading in jspjsp页面加载时的get方法
【发布时间】:2014-12-20 10:50:49
【问题描述】:

我想当我的页面如index.jsp加载(调用get方法)发送index.jsp页面的数据,如标题。我检查了这个问题,但是这个问题的解决方案(How to call servlet on jsp page load)在我的网络应用程序中有错误。

这是我的index.jsp 页面代码(我想从changeTitle.java 类发送标题):

<title><c:import url="/sysAdmin/changeTitle.java" /> 
<c:out value="${message }"></c:out></title>

这是我的changeTitle.java 类获取方法:

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    request.setAttribute("message", "hello");
}

而且我不知道如何在我的项目的index.jsp 中寻址类,下面是我的项目目录:

【问题讨论】:

  • "我的 Web 应用程序出错。" 那是什么?如果您重定向请求而不是转发/分派它,则请求属性message 在目标资源(JSP 页面)中将不可用。 doGet() 方法中剩下的代码是什么?
  • 我希望每次加载这个页面,标题设置来自班级发送的消息
  • 拍摄。您如何从您的 Servlet 类到达 JSP 页面(以及您的 Servlet 如何映射到 JSP 页面)?您是否将请求重定向到 JSP 页面或将请求分派/转发给它(或者您什么都不做)?
  • 我什么都不做!!我只想发送消息!
  • 真的吗?很难相信你什么也没做。无论如何,您需要将请求发送到目标 JSP 页面,例如 request.getRequestDispatcher("/path/to/jsp/index.jsp").forward(request, response);(它基本上是您的 doGet() 方法中的最后一行)。考虑根据 JSP 页面位置更改路径。确保将 Servlet 适当地映射到所需的 JSP 页面。

标签: java jsp servlets


【解决方案1】:

尝试设置响应,而不是请求

  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    response.setAttribute("message", "hello");
}

【讨论】:

  • 这不是我的目的,我的目的是在 changeTitle.java 类中将标题设置为设置值,没有方法名!
  • 响应没有这种方法
【解决方案2】:

尝试使用此代码:

<c:out value="<%=request.getAttribute('message')%>">

【讨论】:

    猜你喜欢
    • 2015-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-31
    • 2023-03-11
    • 2018-12-20
    • 2015-09-22
    • 1970-01-01
    相关资源
    最近更新 更多