计应134(实验班) 陈帮政
当Struts配置好了之后我们可以在jsp页面中运用Struts来进行表单的提交。
Struts支持a标签,form表单等方式传值a标签通过herf标签来和Struts进行交互在herf中可以通过herf="xxx.acrion?yy=想传入的值"来进行值的传输
在form中则在action中指定Struts响应的action
如:<form action="Studentmassage.action"></form>
则系统会自动在Struts.xml中找到 下面这个action
<action name="Studentmassage" class="com.action.Studentmassage">
<result name="success">studentmassage.jsp</result>
<result name="error">/error.jsp</result>
</action>
当系统找到action后会自动跳转到对应的后台处理程序,后台处理程序是由class来指定。如上面的action就会通过class指定的路径跳转到对应的java类。
在java类中至少要实现一个execute()方法并且execute()方法至少需要有一个返回值如: return "success";在execute()方法中则写自己需要执行的函数。
Struts后台获取表单类容
在前台提交表单或者用a标签跳转action后,在后台需要获取前台出过来的值只需要在java类定义public的一些属性来存放前台传输过来的值,但是定义的属性名和属性类型需和前台传输过来的属性名属性类型一致。这样Struts就会自动给java中的属性赋值,如果需定义成私有类类型则需要写属性的get和set方法。
Struts前台获取后台的值
如果action在后台运行后有一些数据需要传输到前台,那么我们就需要运用到s标签。
在jsp页面运用s标签需要在jsp页面中加入:
<%@ taglib uri="/struts-tags" prefix="s" %>
之后运用s标签的 <s:iterator value="C">
<s:property value="stuId"/>
属性循环输出S中的属性的值,上面的代码就是循环输出C这个类中的stuId属性的值。当然我们需要来后台java类中定义一个名字位C的list链表如:
public List<Classes> C=new ArrayList<Classes>();
定义一个Classes类的list链表并命名位C