我想知道如何在以下场景中使用jsp:setProperty。这是两个java类的简单示例。
public class MyExample {
private MyName myNameExample = new MyName();
public MyExample() {}
public MyName getMyNameExample() {
return myNameExample;
}
public void setMyNameExample(MyName setTo) {
myNameExample = setTo;
}
}
public class MyName {
private String firstName;
public MyName() {}
public String getFirstName() {
return firstName;
}
public String setFirstName(String setTo) {
firstName = setTo;
}
}
我试图使用类似的东西:
<jsp:useBean id="example" class="MyExample" scope="page"/>
<jsp:setProperty name="example" property="????" value="aFirstName"/>
这里的重要部分是我想从MyExample中引用MyName对象。因此,创建一个bean来直接访问MyName对我没有帮助。所以我不是在寻找这个答案:
<jsp:useBean id="name" class="MyName" scope="page"/>
<jsp:setProperty name="name" property="firstName" value="aFirstName"/>
答案 0 :(得分:2)
你可以创建两个bean,并在${}
之间设置另一个bean。
<jsp:useBean id="myName" class="MyName" scope="page" />
<jsp:setProperty name="myName" property="firstName" value="aFirstName" />
<jsp:useBean id="myExample" class="MyExample" scope="page" />
<jsp:setProperty name="myExample" property="myExampleName" value="${myName}" />
与具体问题无关,我建议花时间学习servlet和MVC。以上是在视图中控制模型的一种非常老式且紧密耦合的方式。
请注意,使用无包装类可能无法在所有情况下使用(因为它们对于包内的普通类是不可见的)。只有在某些Apache Tomcat配置中它才有效。而是将您的类放在包中,以便不依赖于它。