关于jstl访问model的问题

robbie11 发布于 2013/11/07 15:21
阅读 297
收藏 0

@JFinal 你好,想跟你请教个问题:诚心问一下,为什么在jstl里,可以的model.attribute的方式访问到model的属性?不是按照bean的方式访问么?

为什么我在model里增加一个自定义的属性,非db字段的,比如list,写了getter,setter方法,但是到jstl里怎么都访问不到?

<c:forEach var="bitem" items="${baseList}">
				<tr height="40">
					<td width="120" align="left">${bitem.description}:</td>
					<td>
						<select name="${bitem.attribute_id}" style="width:170px;" >
						<c:forEach  items="${bitem.propertyList}" var="bprop">
					<option value="${bprop.property_id}">${bprop.property_name}</option>						</c:forEach>
						</select>
					</td>
				</tr>
				</c:forEach>

加载中
1
robbie11
robbie11
波波同学,是put吧。set不行。
JFinal
JFinal
没错,是 put
0
backtract
backtract
你在页面输出一下 model 看有你新增加的那个list不
0
robbie11
robbie11
<c:out value="${bitem.propertyList[0].property_id}" ></c:out>

<c:out value="${bitem.propertyList}" ></c:out>

都没有

0
JFinal
JFinal
由于 jstl 数据读取能力较弱,所以 JspRender 中将Model转换成了 Map ,而 javabean 中的定义的属性并未做转换,建议去掉属性定义,让 setter getter 方法转调 Model内部的 put、get方法即可
0
13123123
13123123
你调试下 你看看是不是实现javabean
0
13123123
13123123
还有标签是否导入 $符号写正确不
0
robbie11
robbie11

根据波波同学的建议,已经转freemaker,确实好用很多。

同时补充下,如果用jstl来访问有关联表的model,也要参考波波同学的方式,即让 setter getter 方法转调 Model内部的 put、get方法即可。

返回顶部
顶部