如何从Servlet传递String到JSP?

3

Servlet 文件

String str = req.getParameter("str");
req.setAttribute("str", "java");
getServletContext().getRequestDispatcher("/us.jsp").forward(req, resp);
<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
虽然BalusC是正确的,但我想指出直接输出字符串可能存在潜在的安全风险。根据Java Servlet 2.0规范,在需要转义的情况下(例如,为了防止跨站脚本攻击),可以使用JSTL核心标签。例如:
<c:out value=”${anELexpression}” />

这可以帮助防范跨站脚本攻击(XSS)。有关更多信息,请参见OWASP页面。


4

使用EL表达式语言(即那些${}的东西)。它可以隐式访问请求/会话/应用程序作用域属性,只需使用属性名称即可。

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

在涉及到用户控制的输入时,要小心XSS

另请参阅:


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接