本节主要写
使用IDEA创建struts项目很简单,按照下面图示步骤即可
一直点next,知道打开工作空间
这样就算配置完成了.下面开始使用,
创建一个普通类或者继承ActionSupport均可以,然后里面添加execute()方法,这个是struts默认调用的方法.返回值是一个字符串,这个字符串决定该跳转到的位置
public class UserAction{
public String execute(){
return "success";
}
}
<?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 name="default" namespace="/" extends="struts-default">
<!--name为浏览器访问的地址,class为对应的类-->
<action name="user" class="com.action.UserAction">
<result name="success">/list.jsp</result>
<!--name对应者方法返回的字符串,type决定跳转方式,默认为服务器端跳转-->
<result name="error" type="redirect">/add.jsp</result>
</action>
</package>
</struts>
相应的我们在WEB文件夹下创建list.jsp和add.jsp分别用来呈现上面去请求的页面.
当我们在浏览器输入 user.action或者user的时候就会自动执行UserAction的execute方法,从而跳转到list.jsp
上面程序自动执行execute()方法,这显然不够我们使用,我们想要的是不仅仅是execute()我们的每一个方法都可以这样调用.
这个时候我们就可以把Action写成下面形式,也就是使用自己定义的方法
public class UserAction{
public String list(){
return "success";
}
public String add(){
return "error";
}
}
然后我们在配置struts.xml文件,这里如果要想动态调用方法,需要在package之前声明
<constant name="struts.enable.DynamicMethodInvocation" value="true"/>
<action name="user" class="com.action.UserAction">
<result name="list">/list.jsp</result>
<result name="add">/add.jsp</result>
<result name="delete">/delete.jsp</result>
</action>
通配符方法是很简便的方法,可以达到配置一个,整个Action都可以用的效果
<!--这里的{1}表示第一个*号匹配的子串,{2}表示第二个*号匹配的子串-->
<action name="*_*" class="com.action.{1}Action" method="{2}">
<result name="{2}">/list.jsp</result>
<result name="error" type="redirect">/add.jsp</result>
</action>
更多属性在默认配置文件中,可以去里面查看然后使用constant标签来修改
下一篇学习如何传值的问题