我是J2EE开发的新手。我无法理解以下代码段的工作方式/原因。以下课程有以下问题:
/* Java class */
public class HelloBean {
private String name = "Hello Bean";
public HelloBean(String test) {
this.name = test;
}
public String getname() {
return this.name;
}
}
// End of Java Class
// Code in jsp page (only relevant code is shown)<br>
<%
HelloBean test = new HelloBean("HelloWorld");
pageContext.setAttribute("test", test);
%>
<p>The value=${test["name"]}</p
输出:(显示以下输出,不会抛出任何错误或异常)
值= HelloWorld
测试环境: Tomcat 7(jdk 1.6)
答案 0 :(得分:0)
您传递HelloBean(String test)
构造函数的值。由于您的String name
是类HelloBean
的全局变量。语法${test["name"]}
将解释name
值。
它等同于java的ObjName.VariableName
,它将打印其值。您可以将其作为${name}
来尝试,它将InvalidProperyException
抛出setter和getter错误。