jsf 页面用jstl标签问题

后台bean初始化了一个list。我用<c:forEach items="${sfxzWorkBean.works}" var="work"> 循环显示。现在的问题是:当我捕捉了异常并给<h:message>设置值之后,forEach里面的值就不见了。
曾经试图直接设置works的值,可是取不到呢?要解决这个,有什么思路。谢谢了。
iamsupermc 2010-06-01
没太看明白你的问题,你在哪里取的异常?
没说清楚啊。在a.jsf页面,我需要到后台验证某些条件,如用户输入不合我意,我就返回一些提示到页面(<h:message>),并终止保存。这一点如果纯粹用jsf的标签是没有问题的。可是,我这里页面比较特殊需要用到jstl的一些标签才能满足布局。
问题来了:当用jstl标签时,我返回提示信息到页面,jstl就读取不到数据了。

不知道说清楚了么。
terryzhou 2010-06-02
JSTL在JSF1.1里有些问题
JSTL实现的功能都能用JSF标签代替
既然是LIST直接用dataTable就可显示,都是迭代,再不行用t:newspaper
terryzhou 2010-06-02
你用JSF还真是问题多多..艾
解决问题的能力有待加强
主要是没有系统的学过jsf,所以有很多问题。
terryzhou 写道
JSTL实现的功能都能用JSF标签代替
既然是LIST直接用dataTable就可显示,都是迭代,再不行用t:newspaper



这里的list不是规则的list,如果是一般列表那样的,我才不会用jstl,我的list里面还包含了左边的最多3列的表头——也就是可能要用到rowspan,colspan之类的html属性,我不想用richfaces,看看直接用jstl能实现否,结果就出现了这样的问题。
另外我自己感觉应该是可以处理这个问题,就是无从下手(可不是换标签)。

还有一个疑问:我感觉jsf标签的rendered属性不是很好用呢,本来想用这个属性来替换jstl的if or choose 标签的,结果老报id重复。如果id不能重复,那用rendered就没有意义了。

就因为这两个问题,促使我使用了jstl的foreach。请指教

terryzhou 2010-06-03
没人天生就会啥,都是靠后天
JSF的rendered很好用,基本没什么问题,倒是JSTL有时候会有奇怪问题
换标签不是目的只是手段,任何问题都有多种解决方法
原来描述是显示异常信息,现在又说有跨行,跨列
我觉得你设计可能有问题,你任何评价你的实现方法就是最好的?
terryzhou 2010-06-03
顺便,LIST里含对象(非String)一样可以output,dataTable标签里 var就干这事
t:newspaper是apache tomahawk,不是richfaces
引用
原来描述是显示异常信息,现在又说有跨行,跨列
只是想说:如果不用richface之类的实现,jsf标签实现不了(我的知识范围内),所以选择了jstl。选择了jstl之后引出了显示异常信息的问题。
Global site tag (gtag.js) - Google Analytics