Java的Struts框架中<results>标签的使用方法

网友投稿 208 2023-07-25


Java的Struts框架中<results>标签的使用方法

标签在Struts2的MVC框架的视图中所扮演的角色。动作是负责执行业务逻辑。执行业务逻辑后,接下来的步骤是使用标签显示的视图。

经常有一些附带导航规则的结果。例如,如果在操作方法是对用户进行验证,有三种可能的结果。 (一)成功登录;(二)不成功的登录,用户名或密码错误;(三)帐户锁定。

在这种情况下的动作方法将被配置呈现的结果有三种可能的结果字符串和三个不同的看法。我们已经看到在前面的例子。

但是,Struts2 不配合使用jsP作为视图技术。毕竟MVC范例的整个目的是保持独立的层,高度可配置的。例如,对于一个Web2.0的客户端,可能希望返回XML或JSON作为输出。在这种情况下,可以创建一个新的结果类型为XML或JSON和实现这一目标。

Struts的一些预定义的结果类型,无论我们已经看到了,这是默认的结果类型,它是用来调度调度到JSP页面。 Struts 允许使用其它标记语言的技术呈现的结果和流行的选择,包括 Velocity, Freemaker, XSLT 和Tiles.

分发结果类型:

调度程序的结果类型是缺省类型,并使用,如果没有其他的结果类型被指定。它被用来转发到一个servlet,JSP,HTML页面,等等,在服务器上。它使用RequestDispatcher.forward()方法。

在我们前面的例子中,我们看到了“shorthand”的版本,在那里我们提供了身体的结果标签 JSP路径。

/HelloWorld.jsp

我们也可以指定JSP文件中使用一个的标签内的元素如下:

/HelloWorld.jsp

我们还可以提供一个分析参数,默认为true。解析参数位置参数决定是否将被解析为OGNL表达式。

FreeMaker结果类型:

在这个例子中,我们将看到我们如何使用FreeMaker作为视图技术。 freemaker是一种流行的模板引擎,用于使用预定义的模板来生成输出。让我们Freemaker模板创建一个文件称为hello.fm以下内容:

Hello World ${name}

在这里,上述文件是一个模板的名字是从外面使用已定义的动作,将传递一个参数置。会保持这个文件在CLASSPATH中。接下来,让我们修改struts.xml中指定结果如下:

"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"

"http://struts.apache.org/dtds/struts-2.0.dtd">

class="com.yiibai.struts2.HelloWorldAction"

method="execute">

/hello.fm

让我们使用前面的 HelloWorldAction.java,HelloWohttp://rldAction.jsp和index.jsp文件。现在右键点击项目名称,并单击Export > WAR File创建一个WAR文件。然后部署这个WAR在Tomcat的webapps目录下。最后,启动Tomcat服务器和尝试访问URL http://localhost:8080/HelloWorldStruts2/index.jsp。这会给出以下画面:

输入一个值“Struts2”,并提交页面。应该看到翻页

正如看到,这是完全一样的JSP视图,但我们是不依赖于使用JSP作为视图技术。在这个例子中,我们已经使用Freemaker。

重定向结果类型:

重定向的结果类型,调用的是标准response.sendRedirect() 方法,使浏览器建立一个新的请求发送到给定的位置。

我们可以提供无论是在体内的元素或作为一个的元素的位置。还支持重定向解析参数。下面是一个例子使用XML配置:

class="com.yiibai.struts2.HelloWorldAction"

method="execute">

/NewWorld.jsp

因此,只要修改struts.xml文件,定义如上所述重定向类型,并创建一个新的文件,在那里会被重定向 Hello时动作将返回成功到NewWorld.jpg。也可以checkStruts2 重定向操作的例子,为了更好的理解。

class="com.yiibai.struts2.HelloWorldAction"

method="execute">

/hello.fm

class="com.yiibai.struts2.HelloWorldAction"

method="execute">

/hello.fm

让我们使用前面的 HelloWorldAction.java,HelloWohttp://rldAction.jsp和index.jsp文件。现在右键点击项目名称,并单击Export > WAR File创建一个WAR文件。然后部署这个WAR在Tomcat的webapps目录下。最后,启动Tomcat服务器和尝试访问URL http://localhost:8080/HelloWorldStruts2/index.jsp。这会给出以下画面:

输入一个值“Struts2”,并提交页面。应该看到翻页

正如看到,这是完全一样的JSP视图,但我们是不依赖于使用JSP作为视图技术。在这个例子中,我们已经使用Freemaker。

重定向结果类型:

重定向的结果类型,调用的是标准response.sendRedirect() 方法,使浏览器建立一个新的请求发送到给定的位置。

我们可以提供无论是在体内的元素或作为一个的元素的位置。还支持重定向解析参数。下面是一个例子使用XML配置:

class="com.yiibai.struts2.HelloWorldAction"

method="execute">

/NewWorld.jsp

class="com.yiibai.struts2.HelloWorldAction"

method="execute">

/NewWorld.jsp

因此,只要修改struts.xml文件,定义如上所述重定向类型,并创建一个新的文件,在那里会被重定向 Hello时动作将返回成功到NewWorld.jpg。也可以checkStruts2 重定向操作的例子,为了更好的理解。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:编写调用新浪微博API的Java程序来发送微博
下一篇:深入浅析同源策略和跨域访问
相关文章

 发表评论

暂时没有评论,来抢沙发吧~