Джерси: передача данных на страницу .jsp - PullRequest
4 голосов
/ 18 сентября 2011

Я новичок в Джерси и разработке веб-приложений. Я попытался найти в Google свою проблему, но не могу найти правильный ответ ни в документации Джерси, ни в Интернете. У меня есть сложный тип данных под названием User. Этот тип данных содержит различные строки и URI. Я пытаюсь передать переменную этого типа из файла Java в JSP, используя следующий код ...

.java код

return new Viewable("/page.jsp", User);

.jsp код

<%@System.out.println(request);%>

Я пробовал различные варианты кода .jsp, обнаруженного в списках рассылки, но, похоже, все они возвращают одну и ту же ошибку, которая ...

org.apache.jasper.JasperException: /page.jsp (line: 3, column: 7) Invalid directive
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:42)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:408)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:89)
org.apache.jasper.compiler.Parser.parseDirective(Parser.java:498)
org.apache.jasper.compiler.Parser.parseFileDirectives(Parser.java:1777)
org.apache.jasper.compiler.Parser.parse(Parser.java:135)
org.apache.jasper.compiler.ParserController.doParse(ParserController.java:242)
org.apache.jasper.compiler.ParserController.parseDirectives(ParserController.java:119)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:193)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:373)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:353)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:340)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:644)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:358)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

Где я иду не так?

Ответы [ 3 ]

3 голосов
/ 18 сентября 2011

В java-файле вам нужно использовать вот так:

request.setAttribute(user);

и использовать в jsp.file:

request.getAttribute(user);

// вы можете использовать request / session / servletContext / applicationчтобы отправить информацию из java-файла в jsp-файл.

если вам просто нужно использовать Class User в jsp-файле, вы просто делаете это так:

<@package import="//Class User's URL"> or <jsp:useBean.../>
3 голосов
/ 18 сентября 2011

<%@ ... %> указывает директиву в JSP.Для фрагмента кода (скриптлета) используйте <% ... %>.

1 голос
/ 28 ноября 2016

Попробуйте передать значения из сервлета на страницу jsp, используя request.setAttribute.При этом я бы предложил создать класс для User и иметь методы установки для получения значений, чтобы прикрепить значения к классу .Then передать Class.id или Class.name или Class.'whichever field 'в качестве параметра внутри запроса .setAttribute, который вы хотите передать на страницу jsp.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...