2

我正在尝试在 JSP 的会话中输出 bean 属性的文本值。我需要在标签之间输出它。我对语法感到震惊。这是我到目前为止的代码

<%EditTicketBean etlBean= (EditTicketBean)session.getAttribute("etBeanInServlet");
<textarea><c:out value = "${etlBean.ticketDesc}" />

但是,这不起作用。如果我使用 out.println 它可以工作

<textarea><%out.println(etlBean.getTicketDesc());%> </textarea>

使用此 JSTL 标记的正确语法是什么

4

1 回答 1

3

为什么要混合 JSTL 和 scriplets?您不能在 EL 中访问在 scriplets 中设置的变量。更好的选择是完全避免使用该脚本,而只使用 EL 从会话中访问属性。

可以直接使用 EL 表达式:

<textarea>${etBeanInServlet.ticketDesc}</textarea>

您还可以明确指定您正在从会话范围获取属性(仅当在不同范围内设置的变量之间存在冲突时),如下所示:

<textarea>${sessionScope.etBeanInServlet.ticketDesc}</textarea>

最后使用 JSTL<c:out>标记,它将为您转义 XML:

<textarea><c:out value="${etBeanInServlet.ticketDesc}" /></textarea>
于 2013-08-31T04:20:28.600 回答