使用c:out标记访问会话中的1个java bean的属性

时间:2013-08-31 04:16:22

标签: java jsp tags jstl

我正在尝试在JSP中输出会话中bean的属性的文本值。我需要在标签之间输出它。我对语法很感兴趣。这是我的代码,直到现在

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

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

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

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

1 个答案:

答案 0 :(得分:3)

为什么要混用JSTL和scriplets?您无法访问EL内部的scriplets中设置的变量。更好的选择是完全避免使用scriplet,只使用EL来访问会话中的属性。

您可以直接使用EL表达式:

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

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

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

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

<textarea><c:out value="${etBeanInServlet.ticketDesc}" /></textarea>