最近已经把ecside2.0放置到正式的开发项目中,感觉效率还可以,鉴于fins最近比较忙,一直没有提供一个struts方面的CRUD的完整DEMO,通过上次和FINS的交流提供一个暂时解决的办法,也发现ecside在处理事务方面的一个问题,不过fins说在下几个版本中解决.
把相关的代码帖在这里:
/**
* 修改用户
* @param mapping
* @param form
* @param request
* @param response
* @return
* @throws Exception
*/
public ActionForward update(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
OperationTypeService service = new OperationTypeServiceImpl();// 服务操作
OperationType bean = new OperationType();
com.skywing.util.request.RequestUtil.populate(bean, request);
bean.setOid(request.getParameter(TableConstants.RECORDKEY_NAME));
bean.setCreator("创建者");
bean.setCreatetime(com.skywing.util.db.string.StringUtil.getToday());
try {
service.update(bean);
} catch (Exception ex) {
ex.printStackTrace();
}
String id = request.getParameter(TableConstants.RECORDKEY_NAME); //关键点在这里
ServletUtil.writeDefaultTextToClient(id, RequestUtil.successfulInfo(request), null, request, response);///////////////////////////////////
return null;
}
然后修改 org.ecside.util下的ServletUtil类 /** 如果没有这个方法就添加这个方法
*
* @param recordKey 记录的标题
* @param code //返回的代码 // code = RequestUtil.successfulInfo(request) or RequestUtil.failedInfo(request);
* @param message //返回的信息
* @param request
* @param response
* @throws ServletException
* @throws IOException
*/
public static void writeDefaultTextToClient(String recordKey, String code,
String message, HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.flush();
out.println(code);
out.println(recordKey);
out.print(message);
out.flush();
out.close();
}
还有fins真的应该想想怎么做版本控制了,版本的变迁比较大,需要保持一定的连续性