您的位置:首页 > 编程语言 > Java开发

SSH——Struts2引入配置

2015-09-26 11:35 351 查看
          

              MVC架构与传统的WebForm从代码上感觉,主要还是请求被服务器收后怎么个处理流程的问题。对于传统WebForm,客户端访问时候,输入的是页面的地址,请求通过处理管道,然后请求对象被交给页面的后台代码生成类处理(.NET),处理的结果以标签形式被绑定到页面上;或者是访问页面之后,在页面加载中加入AJAX代码,异步获取数据,将数据绑定到页面;这两种方式都是以页面为中心的;出现MVC之后,服务端代码的关注点就不在页面上了。客户端请求的时候,请求的是一个Action,然后action各种处理之后,可能要根据我请求的一些参数,做个判断,看看要返回哪个页面给客户端。

         struts2是对MVC思想的一种实现。

一,引入Jar包

              创建好web项目之后,我们在WEB-INF的lib目录下,添加如下基本jar包,需要注意的是,我们最好先添加基本jar包,不要全部引入,需要的时候再引入必须jar包,防止出现jar包冲突。另外,不同版本的struts2,引入的文件是不一样的。

二,在web.xml中添加struts2的配置

           <!-- strut2配置 -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*</url-pattern>
</filter-mapping>


              对于基本的web项目,以上配置就ok了。

三,添加struts.xml配置文件

这里面算是struts2的核心配置了。我们的action跟jsp页面的映射映射关系都在这里。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">

<struts>
<!-- package元素用于定义包配置,每个package元素定义了一个包配置。name:必填,用来指定包的名字; extends:可选,用来指定该报继承其他的包; namespace:可选,用来指定包的命名空间; -->
<package name="struts2" namespace="/" extends="struts-default">
<!-- 配置calAction类 -->
<action name="calc" class="net.blogjava.nokiaguy.models.CalcAction">
<result name="success">
/WEB-INF/calc.jsp
</result>
</action>
<!-- 使用通配符为所有在WEB-INF目录中的JSP页面指定一个对应的Action -->
<action name="*_jsp">
<result>
/WEB-INF/{1}.jsp
</result>
</action>
</package>
</struts>


         首先是doctype,不同版本struts,这里可能会有所不同。

          接着是定义package,需要注意的是,相同package下面不允许有重名的action,如果action重名,要放入不同的package里面配置。

四,JSP页面如何接收action返回的结果

            当action处理完成之后,我们可以使用struts的标签来展现action中的结果。

              在页面上,加入如下标签:
     <%@ taglib prefix="s" uri="/struts-tags" %>

              之后,我们就可以在需要显示数据的地方加入标签了。例如:
  <s:property value="result"/>

     
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: