对Struts的Indexed属性用处深层次思考

04-04-05 Kidwish
【关于Indexed属性的参考文章】

以上资料是bang之前写的,大家可以参考 :)

其实也不是特地搞什么“思考”的,主要是我在开发中遇到了难题,稍许试了一遍tag,还是无法达到我的要求...

大致要求:

=============================================

| id | name | password

+----+-----------------+---------------------

| 11 | [alex ] | [******** ]

+----+-----------------+---------------------

| 22 | [bruce ] | [******** ]

+----+-----------------+---------------------

| 33 | [catherine ] | [******** ]

+----+-----------------+---------------------

| 44 | [david ] | [******** ]

+----+-----------------+---------------------

| 55 | [eva ] | [******** ]

=============================================

常用页面表单,可以动态增加一条记录。id,name,password为lable,那么我怎么将这个动态生成的表单用ActionForm包裹起来?

思考了一下,如果是静态的,应该可以做到,用参考文章中的方法,少许变通就可以实现,即利用indexed属性。问题就出在是动态生成上,试了几个方法都不太满意。

不知各位有何高见,别说用request传就行 :p

Kidwish
2004-04-06 22:31
感觉indexed属性只能用于静态数据post,动态不怎么行...

banq
2004-04-12 11:33
不是很明白,每刷新一次页面,会有新的ActionForm内容,内容里有新的增加的记录啊。

Kidwish
2004-04-12 21:19
感谢banq

这是你之前写的代码:

public class TestBean extends ActionForm {  
.....  
private List lvbeans =  new ArrayList();  
public TestBean(){ //初始化数值       
lvbeans.add(new LabelValueBean("1", "1"));       
lvbeans.add(new LabelValueBean("2", "2"));       
lvbeans.add(new LabelValueBean("3", "3"));    
}  
public  LabelValueBean getLvbeans(int index) {      
return (LabelValueBean)lvbeans.get(index);  
}  
public  List getLvbeans() {      
return lvbeans;  
}  
.....
}

<logic:iterate name="test2" property="lvbeans" id="foo"  indexId="ctr">    <html:text name="test2"               property='<%= "lvbeans[" + ctr + "].label" %>' />   </logic:iterate>
<p>
]

这里的lvbeans的size是静态的,那么页面会根据这个size把资料显示出来,这没有什么问题。我的问题就是,假如页面上要增加lvbeans的size(其实也只要增加),也就是在页面上如何增加lvbeans的size,那么应该怎么解决尼?

tbase
2004-04-14 21:31

1 TestBean 中增加 getSize()

然后return lvbeans.size();

2 写在jsp中 <%=foo.size()%>

猜你喜欢
2Go 1 2 下一页