刚学的初学者
public class PointConverter extends StrutsTypeConverter
{
@Override
public Object convertFromString(Map context, String[] values, Class toClass)
{
if (成功)
{
返回成功转化后的值
}
else
{
那我想返回不成功,那应该返回什么呢
}
}
@Override
public String convertToString(Map context, Object o)
{
同上问。
}
之所以问这个问题,是因为在 
一般的数据类型下比如string ..
如果提交的内容为空,不会引起错误
如果数据类型是自定义,比如一个坐标之类point(x,y)
这样如果提交的内容为空,便会引起严重的错误。。那我想在转化的时候做一个是否为空的判断,虽然我成功做了这样的判断,但不知道该返回什么值才会让验证框架知道这里有错让它添加错误信息。
2009-3-17 22:30:44 org.apache.catalina.core.ApplicationDispatcher invoke
严重: Servlet.service() for servlet jsp threw exception
java.lang.NullPointerException
at org.apache.struts2.components.template.TemplateEngineManager.getTemplateEngine(TemplateEngineManager.java
at org.apache.struts2.components.UIBean.mergeTemplate(UIBean.java:549)
at org.apache.struts2.components.UIBean.end(UIBean.java:513)
at org.apache.struts2.views.jsp.ComponentTagSupport.doEndTag(ComponentTagSupport.java
at org.apache.jsp.login_jsp._jspx_meth_s_005ftextfield_005f2(login_jsp.java:251)
......
......
}

解决方案 »

  1.   

    往上层抛异常吧
    if (成功) 

    返回成功转化后的值 

    else 

    throw new Exception("转换失败");
    }
      

  2.   

    不知道是被什么干扰了,其实用自定义的类型是不会出错的,而是返回一个
    ognl.NoConversionPossible字符串
    谢谢楼上的回答
      

  3.   

    ognl.NoConversionPossible 我也出现过但当我把   我自己写的转化类从移到和 Action一个包中后  就一切正常!
      

  4.   

    解决了  原来是我提交表单的时候把一个name 写错了 导致没set进去