我正在尝试在JSP中输出会话中bean的属性的文本值。我需要在标签之间输出它。我对语法很感兴趣。这是我的代码,直到现在
<%EditTicketBean etlBean= (EditTicketBean)session.getAttribute("etBeanInServlet");
<textarea><c:out value = "${etlBean.ticketDesc}" />
然而,这不起作用。如果我使用out.println它可以工作
<textarea><%out.println(etlBean.getTicketDesc());%> </textarea>
使用此JSTL标记的正确语法是什么
答案 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>