Struts2项目开发实战与技巧总结

4星 · 超过85%的资源 需积分: 9 4 下载量 122 浏览量 更新于2024-07-31 收藏 138KB DOC 举报
"本文是关于Struts2框架的开发实例总结,使用了Struts2.1.6版本,数据库环境为Oracle9i。开发过程中需要的jar包包括:commons-logging-1.0.4.jar、commons-fileupload-1.2.1.jar、freemarker-2.3.13.jar、ognl-2.6.11.jar、struts2-core-2.1.6.jar以及xwork-2.1.2.jar。" 在Struts2的开发中,有以下几个关键知识点: 1. OGNL(Object-Graph Navigation Language)表达式的使用:在JSP页面中,如果要使用OGNL表达式,首先需要确保EL(Expressions Language)不被忽略,即在页面指令中设置`<%@page isELIgnored="false"%>`。然后,可以使用`${requestScope.count}`这样的语法来获取Session中的值。OGNL是Struts2中用于数据绑定和表达式解析的语言,能够方便地访问对象的属性。 2. 数据展示与Action的交互:在JSP页面中,可以直接显示Action中的数据,无需通过点击链接再到新的Action返回结果。例如,创建一个名为`NewsSortListAction`的Action类,包含一个名为`sort5list`的方法,然后在`struts.xml`配置文件中定义这个Action,设置不同的结果页面。在`sort1.jsp`中,通过`s:iterator`标签遍历Action返回的结果集,并显示数据。在`index.jsp`中,使用`s:action`标签直接执行Action并显示结果。 3. Struts2的超链接参数传递:Struts2提供了多种传递参数的方式。例如,可以通过在超链接的`href`属性中使用`s:property`标签来传递参数,如`<a href="newdetail2.action?nid=<s:property value="nid"/>"`,这样在点击链接时,Action将会接收到对应的参数值。另一种方式是使用表单提交,结合`s:form`和`s:textfield`等标签实现参数传递。 4. 结果映射与页面跳转:在`struts.xml`中配置`<action>`标签定义Action的处理方法和对应的结果页面。例如,当`sort5list`方法执行成功时,会跳转到`/sort1.jsp`,错误情况下则跳转到`/error.jsp`。这使得业务逻辑和视图层分离,提高了代码的可维护性。 5. 视图技术:在示例中,使用了FreeMarker作为视图模板引擎,FreeMarker是一个通用的、基于模板的技术,用于生成文本输出,比如HTML、XML等。开发者可以在JSP页面中使用FreeMarker的语法来动态渲染内容。 6. jar包依赖:为了运行Struts2项目,需要引入特定版本的库文件,包括日志处理的`commons-logging`、文件上传的`commons-fileupload`、模板引擎`freemarker`、OGNL库以及Struts2的核心库`struts2-core`和`xwork`。 这些是Struts2开发中的一些基本实践,涵盖了Action、结果映射、数据展示、参数传递等方面。理解并掌握这些知识点对于进行基于Struts2的Web应用开发至关重要。在实际开发中,还需要考虑异常处理、国际化、安全配置等多个方面,以构建健壮且功能丰富的应用程序。