SSH——Struts2引入配置

  1. 云栖社区>
  2. 博客>
  3. 正文

SSH——Struts2引入配置

soledad_lhc 2015-09-26 11:35:00 浏览431
展开阅读全文


          

              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"/>





     

网友评论

登录后评论
0/500
评论
soledad_lhc
+ 关注