学习struts2.0类型转换的心得笔记

               Struts2.0 类型转换学习笔记

input.Jsp页面主要代码

<s:form action="pointaction">

 

       <s:textfield name="point" label="point"></s:textfield>

       <s:textfield name="point" label="point2"></s:textfield>

       <s:textfield name="point" label="point3"></s:textfield>

       <s:textfield name="age" label="age"></s:textfield>

       <s:textfield name="username" label="username"></s:textfield>

       <s:textfield name="date" label="birthday"></s:textfield>

 

       <s:submit label="submit"></s:submit>

 

</s:form>

说明:

当在input.jsp页面输入内容后按下sumbit后,系统进入后台的struts.xml文件中查找”pointaction”

Struts.xml中主要代码

<struts>

 

    <package name="test" extends="struts-default">

       <action name="pointaction" class="com.PointAction">

           <result name="success">/output.jsp</result>

       </action>

    </package>

 

</struts>

说明

系统找到 actionname ”pointaction” action,生成一个classcom.PointAction的实例用于处理客户端请求。

PointAction类主要代码

package com;

 

import java.util.Date;

import java.util.List;

 

import bean.Point;

 

import com.opensymphony.xwork2.ActionSupport;

 

public class PointAction extends ActionSupport {

       private int age;

    private String username;

    private Date date;

       private List<Point> point;

public List<Point> getPoint() {

              return point;

       }

 

       public void setPoint(List<Point> point) {

              this.point = point;

       }

       //别的set  get方法省略

       @Override

       public String execute() throws Exception {

              return SUCCESS;

       }

 

}

说明

当用intput.jsp中输入为PointAction中的 point属性赋值时,会查看有没有属性文件用于解析point属性的类型Point,首先查找和PointAction在一个包下的属性解析文件PointAction-conversion.properties文件。

PointAction-conversion.properties文件主要代码

point=converter.PointConverter3

说明

此句代码是说point属性用converter.PointConverter3类来解析,

Converter.PointConverter3主要代码如下

package converter;

 

import java.util.ArrayList;

import java.util.List;

import java.util.Map;

import org.apache.struts2.util.StrutsTypeConverter;

 

import bean.Point;

 

public class PointConverter3 extends StrutsTypeConverter

{

 

       @Override

       public Object convertFromString(Map context, String[] values, Class toClass)

       {

              //用于把客户端输入赋给PointActionsetPoint()方法。 }

 

       @Override

       public String convertToString(Map context, Object o)

       {

              //把服务器point属性返回PointActiongetPoint()方法。

       }

}

说明:

主要用于解析PointActionPoint类型。

接着执行PointAction中的execute()方法。

其实在执行execute()方法前还会执行validate() validatexx()等方法用于查验用户输入的错误。

execute()  return SUCCESS;

接着系统会在struts.xml文件中查找name”success”result.jsp页面。

result.jsp主要代码

username:<%=request.getParameter("username")%><br>

password:<%=request.getParameter("password")%>

说明: input.jsp页面中的输入到result.jsp中。

 

你可能感兴趣的:(apache,jsp,bean,xml,struts)