今天遇到一个郁闷的问题,页面某段文字显示的时候就显示一半,查看数据库和打印服务端信息都正常,能确定是显示层出现的问题。但看了好久也没什么头绪,因为仅仅是在s:iterator标记中使用EL表达式输出Bean内的某个property而已。
无奈之下只好矛头指向EL表达式了,换另外一种显示方法,使用s:property标记,然后真的正常了。
虽然struts2出来很久了,但一直没敢用,原因就是担心一些兼容性,还有出了问题也难查找原因。最近终于尝试了,虽然感觉的确不错,但还是遇到了这样的兼容性问题。
在struts2里面还是尽量的使用自带的标记库,这样也许出现BUG的问题会少些。
附上有问题的那段文字
Adding Message: id=46263, Message-ID=<20091229061946.0D66C2CEDAD@mail.stocom.net>, parentId=-1, folderId=2, folderName=Inbox, subject=<D2:stocom海关事务处理技巧>
使用EL表达式的话会只有
Adding Message: id=46263, Message-ID=<20091229061946.0D66C2CEDAD@mail.stocom.net>, parentId=-1, folderId=2, folderName=Inbox, subject=
少了这一段
<D2:stocom海关事务处理技巧>
类似的例子也很多,初步有怀疑的只有“两个尖括号”和“包含英文”,因为比较忙也没有探究其具体原因了。
其他有问题的例子:
Adding Message: id=46253, Message-ID=<001201ca8894$d4efc0a0$7ecf41e0$@com>, parentId=-1, folderId=2, folderName=Inbox, subject=<Great gains for you with this free sample>
Adding Message: id=46215, Message-ID=<20091229040203.0FBA66A5190@mailmx.nanhai.gd.cn>, parentId=-1, folderId=2, folderName=Inbox, subject=<Your E-mail>
分享到:
相关推荐
Struts2 EL 表达式与 OGNL 的兼容性问题 **异常描述**: Struts2 2.1 版本的标签不允许在其属性中评估 Java Server Pages (JSP) EL 表达式,而是将其作为 Object Graph Navigation Language (OGNL) 来评估。这种...
2. ognl:Object-Graph Navigation Language,用于在Struts2中处理表达式语言。 3. freemarker或velocity:这两个是模板引擎,用于生成动态HTML页面。 4. xwork-core:Struts2基于XWork框架,这个JAR包含XWork的基础...
1. **Action和Result**:在Struts2中,Action类是业务逻辑的载体,它处理来自用户的请求,并通过Result将控制传递到视图层。Action类可以继承自`com.opensymphony.xwork2.ActionSupport`,并覆盖execute()方法来实现...
作为 **Struts** 的下一代产品,**Struts2** 针对上一代框架中存在的问题进行了改进,提供了一个更加灵活、强大且易于使用的 MVC(Model-View-Controller)框架。 **Struts2** 在结构设计上采用了更为先进的理念和...
此外,熟悉JSTL和EL表达式语言也有助于更好地利用Struts进行视图层的开发。 在实践中,我们通常会结合其他的开源项目,如Spring进行依赖注入和事务管理,Hibernate或MyBatis进行持久化操作,以构建更完整的Java EE...
升级到Struts 2.5.30可能涉及对旧版本的API调整、配置修改,以及解决潜在的兼容性问题。开发者应确保了解新版本的变更日志,进行充分的测试,以确保应用的稳定运行。 总的来说,这个压缩包提供的Struts 2.5.30所有...
4. **丰富的标签库**:Struts提供了一套与JSP EL和JSTL兼容的标签,简化了视图层的开发。 **Struts的局限性与演进:** 1. **性能问题**:由于每次请求都要经过Struts框架,可能会增加一定的响应时间。 2. **复杂性...
JSP允许开发者在HTML中嵌入Java代码,通过JSP标签库和EL(Expression Language)表达式来简化页面开发。此外,JDBC(Java Database Connectivity)被用来处理数据库操作,如用户注册、登录以及图书信息的存储和检索...
3. **JSP问题**:在视图层,如果JSP标签使用错误,如Struts标签库引用不正确,或者EL(Expression Language)表达式有误,会导致页面渲染失败。 4. **依赖注入问题**:Struts通常与其他技术如Spring集成,以管理...
1. OGNL(Object-Graph Navigation Language)注入漏洞:这是Struts 2框架中一个臭名昭著的安全问题,允许攻击者通过构造恶意的HTTP请求来执行任意代码。在早期版本中,OGNL表达式可以被未验证的数据所操纵,导致...
但是,需要注意的是,这种编辑方式在不同的浏览器中可能存在兼容性问题,例如IE8和IE7,可以通过设置`<meta http-equiv="X-UA-Compatible" content="IE=7"/>`来确保在IE8中使用IE7的标准渲染页面,以解决某些兼容性...
JSTL和EL表达式是常见的错误来源,如未声明的变量、表达式语法错误等。 此外,还要关注框架版本,Struts2历史上出现过一些严重的安全漏洞,如CVE-2017-5638(Struts2远程命令执行漏洞)。确保使用的是最新且安全的...
在JSP页面中可以使用EL表达式和JSTL标签库来动态展示数据。 ### 四、调试与日志记录 #### 1. 日志配置 为了便于跟踪问题和定位错误,可以在项目中引入日志框架(如Log4j)。通过在Tomcat的logs目录下创建log4j....
4. **EL表达式**:`${expression}`,是JSP 2.0引入的轻量级表达语言,用于简洁地访问JavaBean或其他作用域中的对象。 **JSP生命周期** JSP的生命周期分为三个阶段:翻译阶段、初始化阶段和服务阶段。 1. **翻译...
在迅达商贸管理系统项目中,使用相似的技术栈,但重点在于使用Struts2、Spring、Hibernate和JSON进行后台处理及前端交互,展示了在实际工作中应用和解决业务问题的能力。 以上内容充分展示了Java软件开发工程师所需...
4. **JavaWeb基础**:学习Servlet、JSP、MVC设计模式、EL表达式、JavaBean、国际化、Cookie、HttpSession、JavaMail等核心技术。 5. **JavaWeb项目实战-图书商城**:通过实际项目实践,巩固和提升JavaWeb开发技能。 ...
同时,研究还涉及JSP标签库、EL表达式以及软件开发流程的细节。Spring框架因其轻量级和易集成的特点被广泛采纳,而WebService和Ajax等技术也被认为是未来的重要趋势,能提高系统的跨平台能力和用户体验。 关键问题...
相比JSP 2.0中的EL(Expression Language),OGNL提供了更丰富的功能,如类型转换、方法调用、集合操作等。 6. **Struts2 标签**: Struts2 提供了丰富的标签库,分为通用标签和UI标签。通用标签处理逻辑、运算和...
1. **版本兼容性**:较新的Web技术和前端框架可能与Sitemesh存在兼容问题。 2. **复杂性**:对于简单的页面布局,使用Sitemesh可能显得过度工程化。 在提供的压缩包中,"SiteMesh"可能包含了Sitemesh的源码、文档、...