JSTL中EL标签与Struts2中OGNL标签在JSP页面上的区别
2014-10-31 14:04
627 查看
通常情况下:在进行相关数据操作时(CRUD)时,一般有2种情况可以选择,就是使用Struts2标签或者使用EL标签。
有一点需要注意的是,在JSP页面上,EL标签和OGNL标签不能混在一起乱用。
例如:
在后台中,根据页面传过来的id ,拿到了相关记录的结果集了:
imageMeta = adAssetsService.getImageMetaById(Integer.parseInt(id));
但是,如果在JSP页面上是如此写法:
<td
class="td_label">XXXXX:</td>
<td class="td_input">
<input
type="text" class="e_input" name="imageMeta.description"/>
</td>
那么在页面上是取不到值的,也就是说,当程序经过了后台逻辑调转到前台JSP页面时,它的相关输入框是空白。如果换成了:
<s:TextField class="e_input"
name="imageMeta.description">
在JSP页面上就会现实出于数据库表单想对应的数据
之所以出现如上区别,就是关于EL 和 Struts2标签的区别了。
如果想用EL表达式也显示数据,则应该对其进行相应的修改格式:
<input type="text" class="e_input" value="${imageMeta.description}name="${imageMeta.description}"/>
这样就会在页面上显示对应的值了。
需要注意的是:
其一:在EL标签库中,读取的值必须要放在request中,
它是从request中读取值,在后台中,必须要把整个结果集都放到requers中。
如例子:
imageMeta = adAssetsService.getImageMetaById(Integer.parseInt(id));
request.setAttribute("imageMeta", imageMeta);
只有放在了request中,EL表达式才能在JSP页面中读取出来。
其二:在页面上显示的值,在EL表达式中,它用value=”${XX.XX}”,表示。
如果,写只写一个name=”${XXX.XX}”,它的值也是为空的,
必须有value=””这个属性。
而关于EL中,name属性意思,跟struts2中关于<textfield/>中的name作用是相同的。
所以,在一般情况,要使用html 中的EL表达式,
就应该同时把value=””,和name=”” 同时写上。
有一点需要注意的是,在JSP页面上,EL标签和OGNL标签不能混在一起乱用。
例如:
在后台中,根据页面传过来的id ,拿到了相关记录的结果集了:
imageMeta = adAssetsService.getImageMetaById(Integer.parseInt(id));
但是,如果在JSP页面上是如此写法:
<td
class="td_label">XXXXX:</td>
<td class="td_input">
<input
type="text" class="e_input" name="imageMeta.description"/>
</td>
那么在页面上是取不到值的,也就是说,当程序经过了后台逻辑调转到前台JSP页面时,它的相关输入框是空白。如果换成了:
<s:TextField class="e_input"
name="imageMeta.description">
在JSP页面上就会现实出于数据库表单想对应的数据
之所以出现如上区别,就是关于EL 和 Struts2标签的区别了。
如果想用EL表达式也显示数据,则应该对其进行相应的修改格式:
<input type="text" class="e_input" value="${imageMeta.description}name="${imageMeta.description}"/>
这样就会在页面上显示对应的值了。
需要注意的是:
其一:在EL标签库中,读取的值必须要放在request中,
它是从request中读取值,在后台中,必须要把整个结果集都放到requers中。
如例子:
imageMeta = adAssetsService.getImageMetaById(Integer.parseInt(id));
request.setAttribute("imageMeta", imageMeta);
只有放在了request中,EL表达式才能在JSP页面中读取出来。
其二:在页面上显示的值,在EL表达式中,它用value=”${XX.XX}”,表示。
如果,写只写一个name=”${XXX.XX}”,它的值也是为空的,
必须有value=””这个属性。
而关于EL中,name属性意思,跟struts2中关于<textfield/>中的name作用是相同的。
所以,在一般情况,要使用html 中的EL表达式,
就应该同时把value=””,和name=”” 同时写上。
相关文章推荐
- JSTL中EL标签与Struts2中OGNL标签在JSP页面上的区别
- JSTL中EL标签与Struts2中OGNL标签在JSP页面上的区别
- Struts2 OGNL EL JSTL 四大标签的区别 (原帖不明。自留)
- struts2 ognl jstl el java代码在jsp页面混用
- Struts2标签、EL标签、JSTL标签和OGNL标签浅析
- jsp页面中JSTL/EL标签引用java后台静态static字段的方法总结
- EL标签和JSTL标签---JSP页面的应用
- EL,OGNL, JSTL, STRUTS2标签中符号#,$,%的用法示例
- jsp页面中JSTL/EL标签引用java后台静态static字段的方法总结
- struts2返回到JSP页面的html字符串如何在JSP页面上解析成html标签 (ognl表达式)
- jsp页面,使用Struts2标签,传递和获取Action类里的参数,注意事项。<s:a action><s:iterator><s:param>ognl表达式 在编写SSH2项目的时候,除
- jsp页面中JSTL/EL标签引用java后台静态static字段的方法总结
- OGNL, JSTL, STRUTS2标签中符号#,$,%的用法示例及 EL的基本用法
- 如何在JSP页面使用JSTL标签获取List的元素个数
- OGNL, JSTL, STRUTS2标签中符号#,$,%的用法示例
- struts2标签<s:property value=""/> ognl和el
- struts2 标签截取字符串 struts2-在jsp页面中控制只显示前n个字符
- OGNL表达式struts2标签“%,#,$”的区别
- OGNL, JSTL, STRUTS2标签中符号#,$,%的用法示例
- OGNL,_JSTL,_STRUTS2标签中符号#,$,%的用法示例