开发札记之:
struts2重认识之彻底页面分离:
struts.xml文件;
<struts>
<package name="empire" extends="struts-default">
<action name="become" class="empire.flw.BecomeAction">
<result name="success" type="dispatcher">/page/success.jsp</result>
</action>
</package>
</struts>
BecomeAction.java
public calss BecomeAction extends ActionSupport{
private String name;
setter/getter();
public String execute(){
if("flw".equals(name)){
return "success";
}
return "validate";
}
}
validate.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>输入验证</title>
</head>
<body>
<center>
<s:form action="become" method="post">
<s:label value="验证系统"></s:label><!--文字标签-->
<s:textfield name="name" label="测试人物"/><!--文本框-->
<s:submit value="验证"></s:submit><!--提交按钮-->
</s:form>
----------------------------------------------------------<br>
对于action前端和后台交互应注意:<br>
<a href="${basePath}/empire/become!execute.action" target="_blank" >
empire为所配置action的package;<br>
become为对应的action<br>
execute为其对应action所要处理的功能的方法<p>
</a>
</center>
</body>
</html>
success.jap
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>验证成功页面</title>
</head>
<body>
<center>
欢迎<s:property value="name"/><!--显示action里面的name属性-->
国王陛下
</center>
</body>
</html>
流程:1,validate.jsp通过form表单的action提交给become.action;
2,struts.xml action name="become" 通过其class="empire.flw.BecomeAction"找寻到该action对应的java文件
3,BecomeAction.java 执行方法, 通过return回传给服务器端响应之jsp,即success.jsp;若验证不通过,返回validate.jsp
对于实际开发中的前端诸如按钮超链接之类的,一般用诸如超链接或者event方式解决:
比如超链接:假使在请求页面中,<a href="${basePath}/empire/become!execute.action?(如果需要传参,还需附带参数)" target="_blank"></a>
其中empire对应struts.xml中的package;become为action;execute为通过action class查找到的java类的执行方法
如果只为显示当前页面某信息的详细信息可以也可以通过静态跳转<a href="${basePath}/page/success.jsp></a>
说白了,action之与静态页面超链接的最重要区别就在于
前者要执行所处在java源文件里的方法,然后通过dispatcher等方式分发给相应jsp页面,可以注意一下dispatcher的路径和静态超链接路径理所当然的一致
初进公司之struts2初体验
原创
©著作权归作者所有:来自51CTO博客作者myown在路上的原创作品,请联系作者获取转载授权,否则将追究法律责任
下一篇:我的友情链接
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Qt OPC UA初体验
qtopcua源码编译、通信示例、流程分析
qtopcua OPC UA 工业自动化 -
Struts2之文件下载
文件上传链接:1)Servlet 文件上传 ———— 点击打开链接2)Struts2 文
struts java html