博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
eclipse struts2 快速表单入门
阅读量:6118 次
发布时间:2019-06-21

本文共 2925 字,大约阅读时间需要 9 分钟。

准备:

1. eclipse javaEE 4.5版。新建 dynamic web project,选择生成web.xml

2. 改造web.xml

<web-app> 标签下都不要,填入:

<filter>

<filter-name>mystruts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>

<filter-mapping>

<filter-name>mystruts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

这是为了通过过滤器机制,拦截web请求,交给struts2来处理。

3. 为支持struts2的基本功能,如下包拷贝到 WEB-INF/lib目录下。

2013/11/23 17:55 43,578 asm-3.3.jar

2013/11/23 17:55 38,275 asm-commons-3.3.jar
2013/11/23 17:55 21,503 asm-tree-3.3.jar
2014/02/19 16:21 69,002 commons-fileupload-1.3.1.jar
2013/11/23 17:55 173,587 commons-io-2.2.jar
2014/01/02 21:45 384,767 commons-lang3-3.2.jar
2015/04/03 07:09 1,300,487 freemarker-2.3.22.jar
2013/11/23 17:55 614,203 javassist-3.11.0.GA.jar
2015/04/19 12:04 133,518 log4j-api-2.2.jar
2015/04/19 12:04 826,732 log4j-core-2.2.jar
2013/11/23 17:55 227,997 ognl-3.0.6.jar
2015/05/03 12:25 831,973 struts2-core-2.3.24.jar
2015/05/03 12:23 676,775 xwork-core-2.3.24.jar

==============================================

开始折腾个小form。

1. 新建一个jsp,用于显示一个表单,但不用HTML标签,而是代之以struts2标签:

其核心部分是:

这个页面会显示两个输入框,一个提交按钮。

这里<s:form> 将会映射到后台的一个Action类,把op1,op2作为属性设置到action对象中,然后调用action对象的execute方法。

2. 下面是那个Action类的代码(需要继承ActionSupport类):

package gyh.abc;import com.opensymphony.xwork2.ActionSupport;public class MyOpForm extends ActionSupport {    private static final long serialVersionUID = 916882275318473785L;    private int op1;    private int op2;        public int getOp2() {        return op2;    }    public void setOp2(int op2) {        this.op2 = op2;    }    public void setOp1(int op1) {        this.op1 = op1;    }        public String execute() throws Exception    {        if(getOp_sum()>0)            return "ok";        else            return "warn";    }    public int getOp_sum(){        return op1 + op2;    }}

这个类的execute方法根据计算结果不同,返回了不同的串,指引进一步选择不同的视图来呈现。

form表达如何关联到这个类呢?这需要在struts.xml中配置。

3. 在src目录下增加一个struts.xml文件,内容如下:

/ok.jsp
/warn.jsp

可以看到/my1/form1 或者/my1/form1.action 会对应到gyh.abc.MyOpForm类所创建的Action对象。

该对象先接受form表单传入的参数,然后调用execute,然后根据返回值,以及这里配置决定从哪个页面返回。

当然,返回的jsp页面中一样可以使用struts2标签来和刚才的Action对象交换信息。

4. 创建ok.jsp,以下是 ok.jsp代码

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"    pageEncoding="ISO-8859-1"%><%@ taglib prefix="s" uri="/struts-tags" %>
Insert title here

sum=

5. 以下是warn.jsp代码:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"    pageEncoding="ISO-8859-1"%><%@ taglib prefix="s" uri="/struts-tags" %>
Insert title here

warning:

servers上,右键,start,运行服务器,浏览器中输入:

http://localhost:8080/<你的项目名>/myform1.jsp

测试效果。

 

转载于:https://www.cnblogs.com/gyhang/p/4610710.html

你可能感兴趣的文章
聊聊架构设计做些什么来谈如何成为架构师
查看>>
Java并发编程73道面试题及答案
查看>>
移动端架构的几点思考
查看>>
Tomcat与Spring中的事件机制详解
查看>>
Spark综合使用及用户行为案例区域内热门商品统计分析实战-Spark商业应用实战...
查看>>
初学者自学前端须知
查看>>
Retrofit 源码剖析-深入
查看>>
企业级负载平衡简介(转)
查看>>
ICCV2017 论文浏览记录
查看>>
科技巨头的交通争夺战
查看>>
当中兴安卓手机遇上农行音频通用K宝 -- 卡在“正在通讯”,一直加载中
查看>>
Shell基础之-正则表达式
查看>>
JavaScript异步之Generator、async、await
查看>>
讲讲吸顶效果与react-sticky
查看>>
c++面向对象的一些问题1 0
查看>>
直播视频流技术名词
查看>>
网易跟贴这么火,背后的某个力量不可忽视
查看>>
企业级java springboot b2bc商城系统开源源码二次开发-hystrix参数详解(八)
查看>>
java B2B2C 多租户电子商城系统- 整合企业架构的技术点
查看>>
IOC —— AOP
查看>>