我有一个 jsp文件和一个 bean文件。我学会了如何使用'valueOf'
方法转换原始数据类型并设置bean属性,但是我仍然对如何设置类类型值感到困惑。下面的代码将使查询更加清晰。
Bean.java:
private Object myObject ;
public Object getMyObject() {
return myObject;
}
public void setMyObject(Object myObject)
{
System.out.println("my object - " + myObject);
File file = (File)myObject;
System.out.println("path - " + file.getPath());
this.myObject = myObject;
}
Index.jsp:
<jsp:useBean id="aBean" class="com.Bean" />
<%
File file = new File("some path");
%>
<jsp:setProperty name="aBean" property="myObject" value="<%= file %>" />
我对事物value="<%= file %>"
的工作原理感到困惑。
感谢。
答案 0 :(得分:1)
文件扩展Object(就像所有类一样)。所以上面的内容只是由JSP容器编译成类似
的东西com.Bean aBean = new com.Bean();
File file = new File("some path");
aBean.setMyObect(file);
没有任何东西可以转换,因为文件是一个对象。
请注意,jsp:useBean
和jsp:setProperty
已经过时了。你不应该再使用这些指令了。使用MVC控制器(或至少是自实现的MVC模式),并使用JSTL和JSP EL来访问由控制器创建并存储在请求属性中的bean。视图(即JSP)不应该创建和填充bean。那不是它的工作。