【问题标题】:How i can use objects as parametrs for imported methods in jsp?我如何使用对象作为 jsp 中导入方法的参数?
【发布时间】:2019-02-02 03:07:18
【问题描述】:

我已经设置了 ModelAndView 对象

modelv.addObject("document", document);

然后我已经在我的 JSP 中导入了额外的帮助器

<%@ page import="com.publishing.util.DateUtil" %>

然后我尝试使用文档字段作为这样的参数

<p><% DateUtil.TimestampToSpecificString(document.pub_date) %></p>

IDEA 告诉我该文档没有解决

堆栈跟踪

jsp 文件中的 [44] 行发生错误: [/WEB-INF/views/jsp/admin/document_card.jsp] document.pub_date 不能 解析为 41 类型:
Опубликование 42:
43:

Удалено  

44:

ДаС,Р° Рё время СЌР».РїСѓР±。

45:

МесС,Рѕ опубликования СайС,

46: 47:

Stacktrace:

org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:103) org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:213) org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:473) org.apache.jasper.compiler.Compiler.compile(Compiler.java:392) org.apache.jasper.compiler.Compiler.compile(Compiler.java:362) org.apache.jasper.compiler.Compiler.compile(Compiler.java:346) org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:603) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:369) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:386) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:330) javax.servlet.http.HttpServlet.service(HttpServlet.java:741) org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:160) org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:303) org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1282) org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1037) org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:980) org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897) org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970) org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861) javax.servlet.http.HttpServlet.service(HttpServlet.java:634) org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846) javax.servlet.http.HttpServlet.service(HttpServlet.java:741)

查看

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>

<%@ page import="com.publishing.util.DateUtil" %>

<p><% DateUtil.TimestampToSpecificString(document.pub_date) %></p>

控制器

@RequestMapping(value = {"/search", "/search/"}, method = RequestMethod.GET)
public ModelAndView getSearch(ModelMap model,
                               HttpServletRequest request,
                               HttpServletResponse response,
                               HttpSession session) throws IOException, 

ServletException {

Documents documents = new Documents(); //some fields there

modelv.addObject("documents", documents);

return modelv;

}

日期实用程序

public class DateUtil {

 public static String TimestampToSpecificString(Timestamp timestamp) {
   //some code here...
}

}

【问题讨论】:

  • 也显示堆栈跟踪。
  • 请发布您的模型并查看类和jsp页面

标签: java spring jsp


【解决方案1】:

尝试使用request.getAttribute 方法获取您在ModelView 中设置的对象。 即

<% Documents document = (Documents)request.getAttribute("document"); %>

现在,由于您的 jsp 页面中有可用的文档对象,您可以使用它来检索任何字段,在您的情况下为“pub_date”。

<% DateUtil.TimestampToSpecificString(document.pub_date) %>

不要忘记在你的 jsp 页面中导入 Documents 类。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-05
    • 1970-01-01
    • 2018-11-02
    • 1970-01-01
    • 2020-12-23
    • 2016-11-28
    • 2020-06-02
    • 1970-01-01
    相关资源
    最近更新 更多