第一个 struts 程序
关键步骤:
1. 导入jar包。把struts2所需要的8个jar,放入lib里面,并biud Path到项目中。
2. 新建一个aciton,重写execute方法,如:
注:execute是struts默认执行的方法,类似于servlet中的serve方法;return返回的是一个字符串标识,用来指向已有的result结果集。
3. 在src目录下面新建一个struts.xml文件。配置url的访问路径。如:
注:集黑色部分.xml的dtd文档。可从Struts2的源码中复制。路径:源码文件\struts-2.3.34-all\struts-2.3.34\apps\struts2-blank\WEB-INF\src\java下面的struts.xml中复制。
<package>标签中的三个属性:name是自己命名的,用于和其他package区分;namespace是与下面的action的name组成访问路径,这里默认填写“/”;extends是继承,其参数也是固定写成“struts-default”。
<action>标签中的三个属性:name是自己命名的,是我们在浏览器中输入的最后一组英文单词,表示当前action的访问路径;class是当前action所在的类的全路径。(从包名开始,到类名结束,中间用点隔开);method是用于指定用户访问该action后执行类中的哪个方法。如果该属性没有,则默认执行类中的execute方法。
<result>标签用户处理结果集。其中name属性表示该result会处理哪个结果集。这里的参数应该与你类中方法的返回值一致;标签里面,应该填上你要跳转的目标页面,或者以后我们学的其他的action。
4. 新建一个要跳转的jsp页面,名字要与result标签里面的名字一致。
5. 在web.xml文件里面加入struts2的过滤器配置。
注:黑色部分代码是从源文件中复制的,把其中的/*改为*.action。源码路径如下:
struts-2.3.34-all\struts-2.3.34\apps\struts2-blank\WEB-INF下面的web.xml
访问:localhost:8080/项目名字/action名字.action
注:这个action名字不是类名,也不是包名。而是struts.xml文件里你配置的action标签里的name属性值;注意后面要加上.action
属性驱动模型
关键步骤:
1. 在Aciton类中定义几个public的属性,并生成set方法;定义一个message用于往jsp页面显示效果。如:
注:红色部分是定义的几个属性字段,黄色部分只生成的set和get方法。蓝色部分是我们的execute方法,里面写上简单的业务判断。并返回相应的标识字段。
2. 在struts.xml文件中添加action访问标签。如:
3. 新建一个login.jsp文件,写上一个form表单。如:
注:红线部分,action的值是你在struts'.xml中配置的action标签的name属性值;黄线部分是对应Action类中声明的属性。
访问:localhost:8080/项目名字/login.jsp 即可
实体驱动模型
实体驱动模型与属性驱动模型类似。具体操作步骤:
1. 新建对应的Java实体类,如图:
2. 更改Action类,如:
注:1.将之前的属性字段注释掉,新建一个user对象(刚才建的实体),给定其set,get方法。2.更改execute方法中的属性对比的调用方式。
3. 更改jsp文件。如:
访问:localhost:8080/项目名字/login.jsp 即可