WEB开发网
开发学院软件开发Java 在Google App Engine中使用Struts2框架 阅读

在Google App Engine中使用Struts2框架

 2009-09-06 00:00:00 来源:WEB开发网   
核心提示: packageyour.servlet.pkg;importcom.google.appengine.api.datastore.Key;importcom.google.appengine.api.datastore.KeyFactory;importognl.DefaultTypeConve

package your.servlet.pkg; 
 
import com.google.appengine.api.datastore.Key; 
import com.google.appengine.api.datastore.KeyFactory; 
import ognl.DefaultTypeConverter; 
 
import java.util.Map; 
 
public class KeyConverter extends DefaultTypeConverter { 
  @Override 
  public Object convertValue(Map map, Object o, Class toType) { 
    if (toType == Key.class) { 
      String s = ((String[]) o)[0]; 
      return KeyFactory.stringToKey(s); 
    } else if (toType == String.class) { 
      Key k = (Key) o; 
      return KeyFactory.keyToString(k); 
    } 
 
    return null; 
  } 
} 

在源代码的根目录,创建xwork-conversion.properties文件,内容如下:

com.google.appengine.api.datastore.Text=your.servlet.pkg.TextConverter 
com.google.appengine.api.datastore.Key=your.servlet.pkg.KeyConverter 

上面的工作都完成以后,就可以在你的Action里面直接使用Key类型的类变量,无需手工去做String和Key之间的转换!

Convention Plugin不能使用

Struts2里面,最常用的Plugin应该是Convertion了,"零配置"即减少了写配置文件的麻烦,代码的组织结构看起来也清晰很多。

但是在GAE里面,无法读取文件系统,目前的Convertion版本还无法正常工作,非常可惜。不过建议你的GAE应用中,Action和JSP文件,还是按照Convertion Plugin的组织方式来存放,一方面有利于后面的升级和迁移工作,另一方面也让你的应用的文件看起来更清晰。

上一页  1 2 3 4 

Tags:Google App Engine

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接