java - JSP——表达式语言

标签 java jsp servlets el

我正在为 OCEWCD 做准备。下面的代码出现在jsp页面中

<jsp:useBean id="acct1" class="aaa.bbb.Account"/>

<jsp:useBean id="acct2" class="aaa.bbb.Account " />

<jsp:setProperty name="acct2" property="address" value="${acct1.address}" />

此代码尝试将“acct1”对象的“address”属性复制到“acct2”对象的“address”属性。

解释说,el表达式(value="${acct1.address}")带来了对acct1对象的address属性的引用。

但我的理解是,它将带来 acct1 对象的地址属性的字符串表示形式(如 acct1.getAddress().toString() )。

因为如果下面的代码出现在jsp页面中,

<%
Request.setAttribute(“A”, new A());
%>
${A}

输出可能类似于

org.apache.jsp.newjsp_jsp$1A@1bcdccc3.

解释一下。谢谢

最佳答案

仅当对象在输出中打印时才会转换为字符串:

<% Request.setAttribute(“A”, new A()); %>
${A} <%-- A.toString() is called here --%>

<jsp:setProperty name="acct2" property="address" value="${acct1.address}" />没有任何内容打印到输出中,因此不会发生字符串转换。实际上,这与 acct2.setAddress(acct1.getAddress()) 相同。

关于java - JSP——表达式语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25780733/

相关文章:

java - 嵌套 Hashmap 覆盖其他键

java - 通过套接字将 JTable 数据从服务器发送到客户端 JTable

java - <c :import url ="child.jsp"/> and <jsp:include . ..> 之间的性能差异

java - 响应正在提交并且 doFilter 链已断开

java - Jetty 曾经用于生产部署吗?

java - 如何编辑组件的属性?

java - 将 xml 从 POST 读取到 http servlet 的推荐/最快方法是什么?

javascript - JS文件无法编译

jsp - 我应该使用 JSPX 而不是 JSP 吗?

java - 如何访问标准 Java 类中的 session 状态?