Как перевести строку из сервлета в JSP? - PullRequest
3 голосов
/ 11 декабря 2010

файл сервлета

String str = req.getParameter("str");
req.setAttribute("str", "java");
getServletContext().getRequestDispatcher("/us.jsp").forward(req, resp);

jsp файл

<jsp:useBean id="str" class="hws" scope="request">

или

<div align="center">
    <textarea readonly name="" cols="50" rows="25"><%= request.getAttribute("str") %></ textarea>
</div>
<form action="/us" method="post">
    <div align="center">
        <textarea name="str" cols="50" rows="3">welcome to my program</textarea>
    </div>
</form>

Ответы [ 2 ]

4 голосов
/ 11 декабря 2010

Хотя BalusC верен, я хотел указать на потенциальную угрозу безопасности с прямым выводом строки. Согласно спецификации Java Servlet 2.0 ,

В тех случаях, когда требуется побег (например, чтобы помочь предотвратить межсайтовые скриптовые атаки), Можно использовать основной тег JSTL.

Например:

<c:out value=”${anELexpression}” />

Это может помочь защитить от XSS атак. Для получения дополнительной информации см. Страницу OWASP .

4 голосов
/ 11 декабря 2010

Используйте EL (Expression Language, те ${} вещи).Он имеет неявный доступ к атрибутам области запроса / сеанса / приложения только по имени своего атрибута.

<textarea readonly>${str}</textarea>

Будьте осторожны с XSS , хотя всякий раз, когда он касается ввода, управляемого пользователем.1008 * См. Также:

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