package converter;import converter.Point;
import java.util.Map;import ognl.DefaultTypeConverter;public class PointConvert extends DefaultTypeConverter { @Override
public Object convertValue(Map context, Object value, Class toType) {
if(Point.class == toType){
Point point = new Point();
String[] str = (String[])value ;
String[] paramValues = str[0].split(",");
int x = Integer.parseInt(paramValues[0]);
int y = Integer.parseInt(paramValues[1]);
point.setX(x);
point.setY(y);
return point ;
}
if(String.class == toType){
Point point = (Point)value ;
int x = point.getX();
int y = point.getY();
String str = "[x=" + x + ",y=" + y + "]";
return str ;
}
return null ;
}

}Action
package converter;import converter.Point;
import java.util.Date;import com.opensymphony.xwork2.ActionSupport;public class PointAction extends ActionSupport {
private Point point ;
private int age ;
private Date date ;
public Point getPoint() {
return point;
}
public void setPoint(Point point) {
this.point = point;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public Date getDate() {
return date;
}
public void setDate(Date date) {
this.date = date;
}
@Override
public String execute() throws Exception {
return SUCCESS ;
}
}

解决方案 »

  1.   

    <?xml version="1.0" encoding="UTF-8" ?> 
    <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd"><struts>
    <package name="struts" extends="struts-default">
    <action name="login" class="struts2.panxiaodong.LoginAction">
    <result name="success">/result.jsp</result>
    <result name="input">/login.jsp</result>
    <result name="failure">/login.jsp</result>
    </action>
    <action name="pointConvert" class="converter.PointAction">
    <result name="success">/output.jsp</result>
    </action>
    </package>
    </struts>
      

  2.   

    报错信息
    2010-7-3 19:41:31 com.opensymphony.xwork2.util.logging.commons.CommonsLogger error
    严重: Problem loading properties for converter.PointAction
    java.lang.ClassNotFoundException: converter.PointConvert 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1358)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1204)
    at com.opensymphony.xwork2.util.ClassLoaderUtil.loadClass(ClassLoaderUtil.java:146)
    at com.opensymphony.xwork2.ObjectFactory.getClassInstance(ObjectFactory.java:96)
    at com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:149)
    at com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:139)
    at com.opensymphony.xwork2.conversion.impl.XWorkConverter.createTypeConverter(XWorkConverter.java:738)
    at com.opensymphony.xwork2.conversion.impl.XWorkConverter.addConverterMapping(XWorkConverter.java:500)
    at com.opensymphony.xwork2.conversion.impl.XWorkConverter.buildConverterMapping(XWorkConverter.java:703)
    at com.opensymphony.xwork2.conversion.impl.XWorkConverter.getConverter(XWorkConverter.java:404)
    at com.opensymphony.xwork2.conversion.impl.XWorkConverter.convertValue(XWorkConverter.java:277)
    at com.opensymphony.xwork2.ognl.OgnlTypeConverterWrapper.convertValue(OgnlTypeConverterWrapper.java:28)
    at ognl.OgnlRuntime.getConvertedType(OgnlRuntime.java:1040)
    at ognl.OgnlRuntime.getConvertedTypes(OgnlRuntime.java:1057)
    at ognl.OgnlRuntime.getConvertedMethodAndArgs(OgnlRuntime.java:1083)
    at ognl.OgnlRuntime.getAppropriateMethod(OgnlRuntime.java:1169)
    at ognl.OgnlRuntime.callAppropriateMethod(OgnlRuntime.java:1183)
    at ognl.OgnlRuntime.setMethodValue(OgnlRuntime.java:1454)
    at ognl.ObjectPropertyAccessor.setPossibleProperty(ObjectPropertyAccessor.java:85)
    at ognl.ObjectPropertyAccessor.setProperty(ObjectPropertyAccessor.java:162)
    at com.opensymphony.xwork2.ognl.accessor.ObjectAccessor.setProperty(ObjectAccessor.java:28)
    at ognl.OgnlRuntime.setProperty(OgnlRuntime.java:2225)
    at com.opensymphony.xwork2.ognl.accessor.CompoundRootAccessor.setProperty(CompoundRootAccessor.java:65)
    at ognl.OgnlRuntime.setProperty(OgnlRuntime.java:2225)
    at ognl.ASTProperty.setValueBody(ASTProperty.java:127)
    at ognl.SimpleNode.evaluateSetValueBody(SimpleNode.java:220)
    at ognl.SimpleNode.setValue(SimpleNode.java:301)
    at ognl.Ognl.setValue(Ognl.java:737)
    at com.opensymphony.xwork2.ognl.OgnlUtil.setValue(OgnlUtil.java:198)
    at com.opensymphony.xwork2.ognl.OgnlValueStack.setValue(OgnlValueStack.java:161)
    at com.opensymphony.xwork2.ognl.OgnlValueStack.setValue(OgnlValueStack.java:149)
    at com.opensymphony.xwork2.interceptor.ParametersInterceptor.setParameters(ParametersInterceptor.java:276)
    at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:187)
    at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
    at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
    at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
    at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:179)
    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
    at org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75)
    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
    at org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:94)
    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
    at org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:235)
    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
      

  3.   

    写了
    PointAction-conversion.propertiespoint=converter.PointConvert
      

  4.   

    PointAction-conversion.properties和PointAction.class是在一个文件下吧??
    其他都正确,没错!再找不到就是人品问题了。