Struts2中的ValueStack如何工作?
|
考虑下面的代码。
public class SampleAction {
private String[] sampleArray1 = new String[]{\"item1\",\"item2\",\"item3\"};
private String[] sampleArray2 = new String[]{\"a\",\"b\",\"c\"};
private List lst = new ArrayList();
lst.add(1)
lst.add(2)
//Getters and setters
}
现在,当我们尝试在JSP中访问它时,上面的哪个属性将在值堆栈中?它是否像普通堆栈一样工作,即,继续推送其读取的任何属性?
没有找到相关结果
已邀请:
2 个回复
逆捐凶撤小
然后Struts2将在您的堆栈中进行迭代以查找具有属性
的对象,即具有公共方法
的类。 Struts2将您当前的动作(
的实例)放在堆栈的顶部。因此,它将首先搜索
方法-如果未找到,它将在堆栈中进一步查找。 (实际上,您可以将其他对象放在Action上方的堆栈中-也许放在同一jps中,但要使其保持简单)。 然后,在您的示例中,所有的
(如果有公共获取者)将在jsp中可用。但是并不是
是“在堆栈中”(甚至更少的元素!),动作在堆栈中。 因此,例如,您可以编写:
在第一行中,在操作中(即堆栈中)找到了“ 7”属性。然后,迭代器标记将每个值放在值堆栈顶部的sampleArray1内,并在第二行中将其抓取并打印。
贸会