该帖已经被评为精华帖
|
|
---|---|
作者 | 正文 |
发表时间:2010-01-20
xuyelongjava 写道 lz是采用的JDK1.6编译的吗?
我是用的1.5 运行时报“bad version number in .class file”错误。不知道是不是这个问题 就是jdk需要1.6 呵呵 我也犯这个错了 |
|
返回顶楼 | |
发表时间:2010-01-20
java.wj 写道 xuyelongjava 写道 lz是采用的JDK1.6编译的吗?
我是用的1.5 运行时报“bad version number in .class file”错误。不知道是不是这个问题 就是jdk需要1.6 呵呵 我也犯这个错了 呵呵,知道了 |
|
返回顶楼 | |
发表时间:2010-01-20
xuyelongjava 写道 lz是采用的JDK1.6编译的吗?
我是用的1.5 运行时报“bad version number in .class file”错误。不知道是不是这个问题 对,帮助和说明里写了运行环境了,jdk>6。 |
|
返回顶楼 | |
发表时间:2010-01-20
很强大。特意回来感谢LZ 。。
|
|
返回顶楼 | |
发表时间:2010-01-20
怎么说呢,也许可能象你们说的那样,我还比较嫩(Web开发2年)。从进入这个公司开始我就一直在做Web的开发,开发环境使用的是普元的EOS5.6、EOS6.0。用工具生成代码确实
比较快,但是这样的工具好多时候都是一次性的,通过对话框设置生成代码后就不能进行 修改了,哪怕你只要改一个字段也要重新来一回。代码就更难看了,如果你的JSP页面中 有几处使用自动生成代码,那么你打开后唯一想做的就是Ctrl+A 然后Delele。那个Ext我也写过,确实有些繁琐,但是一个项目的复杂度是一定的,布局就那么复杂,你用手工 敲需要那么多代码,用生成器也一样。手工敲得代码不好维护,生成器生成的代码就好维护了? 到目前为止我用过的代码生成器没有几个用着顺手的,有的可配置性稍微好一些,基本上功能都很有限,遇到一些个性化的东西(比如有的表格需要有合并的表头等等)你还 得自己来写。所以我们目前的做法是将一些重用性比较高的代码做成Tag,那些花哨的界面就省了 |
|
返回顶楼 | |
发表时间:2010-01-20
你那个Main类,或者说Main servlet做的事情太多了,你应该专门写一个基类让我来用,他不做任何登录的判断,它只是解析客户端所请求的 xwl文件,而且这个main类里面好多都写死了没法扩展到比如我自己定义的xwl文件去
String webPath; String action; String type; File actionFile; String needLogin; request.setCharacterEncoding("utf-8"); response.setContentType("text/html;charset=utf-8"); webPath = StringUtil.replace(getServletContext().getRealPath("/"), "\\", "/"); bufferToRequest(request, webPath, true); FileUtil.saveFileToRequest(request); action = request.getParameter("action"); actionFile = FileUtil.getFullFile(webPath, action); type = FileUtil.extractFileExt(action); if(actionFile == null) break MISSING_BLOCK_LABEL_424; if(type.equalsIgnoreCase("xwl")) { (new Parser(webPath, actionFile, request, response, action)).parse(); break MISSING_BLOCK_LABEL_497; } needLogin = request.getAttribute("sys.needLogin").toString(); if(!WebUtil.checkLogin(needLogin, request, response)) return; try { if(!WebUtil.userHasRight(needLogin, actionFile, webPath, request)) { response.setStatus(403); request.getRequestDispatcher("main?action=webbuilder/system/forbidden.xwl").forward(request, response); return; } } catch(Exception e) { throw new ServletException(e); } WebUtil.recordLog(request, action, 0); response.reset(); if(StringUtil.stringInList(StringUtil.split(request.getAttribute("sys.webFile").toString(), ","), type.toLowerCase()) != -1) { boolean isMark = request.getParameter("__mark") != null; try { request.getRequestDispatcher(action).forward(request, response); if(isMark) response.getWriter().print("{@ok@}"); } catch(Exception e) { String exceptType; if(isMark) exceptType = "mark"; else exceptType = request.getAttribute("sys.exceptionType").toString(); WebUtil.recordLog(request, (new StringBuilder(String.valueOf(FileUtil.extractFileName(action)))).append(":").append(WebUtil.getShortError(request, e)).toString(), 2); WebUtil.showException(exceptType, e, request, response); } } else { response.setHeader("content-length", Long.toString(actionFile.length())); response.setHeader("content-type", "application/force-download"); response.setHeader("Content-disposition", (new StringBuilder("attachment;filename=")).append(WebUtil.getFileName(actionFile.getName())).toString()); FileInputStream inputStream = new FileInputStream(actionFile); SysUtil.inputStreamToOutputStream(inputStream, response.getOutputStream()); inputStream.close(); } break MISSING_BLOCK_LABEL_497; if(StringUtil.isEmpty(request.getQueryString())) { response.sendRedirect((String)request.getAttribute("sys.portal")); } else { response.setStatus(404); request.getRequestDispatcher("main?action=webbuilder/system/invalid.xwl").forward(request, response); } 希望能提供一个只解析swl文件的servlet 可以让我方便的配置到web.xml中去 |
|
返回顶楼 | |
发表时间:2010-01-20
LZ不是一般的强啊。想想这么大的工程常人是有能力也不太想去做啊。称赞一个。
|
|
返回顶楼 | |
发表时间:2010-01-20
最后修改:2010-01-20
chenjie100 写道 hatedance 写道 LZ非常有才。我一直很关注java RAD web开发工具,
我和lz一样,厌恶年复一年的写那些重复代码。我也在发明自己的轮子,为了让自己工作好过点。 我看了demo,发现LZ的这个工具不是纯java的,里头的脚本语言也不知道是什么语言,貌似JS。 我想象中的理想平台是java+xml就解决问题了。在delphi平台上有个intraweb,也有java版本不过很少人用吧。 兄弟,你好,这个工具是纯java的,后台是纯Java,前台是纯html+js,没有用任何插件。webbuilder集成了很多的组件和框架,比如像前台的ext,fusioncharts等。可以跨平台和浏览器使用。 我说的纯java的意思是像struts那样,我可以在已有的java web应用里加一点东西就能用的,就像spring,hibernate,struts那样,比如在web.xml里加一点servlet/filter,然后定义一些xml配置文件,就能把某个框架用上了。 而你这个工具有点霸道了。你能不能把你的工具也做成一个jar包,然后做一个eclipse插件允许可视化编辑界面,你还是把界面信息保存成xml文件?这样的话,我觉得符合大多数java开发者的习惯。 |
|
返回顶楼 | |
发表时间:2010-01-20
UI的设计是一大问题呀,谢谢楼主啦
|
|
返回顶楼 | |
发表时间:2010-01-20
hatedance 写道 chenjie100 写道 hatedance 写道 LZ非常有才。我一直很关注java RAD web开发工具,
我和lz一样,厌恶年复一年的写那些重复代码。我也在发明自己的轮子,为了让自己工作好过点。 我看了demo,发现LZ的这个工具不是纯java的,里头的脚本语言也不知道是什么语言,貌似JS。 我想象中的理想平台是java+xml就解决问题了。在delphi平台上有个intraweb,也有java版本不过很少人用吧。 兄弟,你好,这个工具是纯java的,后台是纯Java,前台是纯html+js,没有用任何插件。webbuilder集成了很多的组件和框架,比如像前台的ext,fusioncharts等。可以跨平台和浏览器使用。 我说的纯java的意思是像struts那样,我可以在已有的java web应用里加一点东西就能用的,就像spring,hibernate,struts那样,比如在web.xml里加一点servlet/filter,然后定义一些xml配置文件,就能把某个框架用上了。 而你这个工具有点霸道了。你能不能把你的工具也做成一个jar包,然后做一个eclipse插件允许可视化编辑界面,你还是把界面信息保存成xml文件?这样的话,我觉得符合大多数java开发者的习惯。 可以的啊。实事上引用webbuilder就只需引用一个jar包就可以(在lib目录下webbuilder.jar),使用的时候同jsp差不多,只不过引用方式不同,使用main?action=file.xwl这样的方式引用即可,main是一个解析引擎。你使用的原有技术都可以保留,也可以混合使用,把webbuilder的xwl当jsp就行了,只不过xwl是用xml描述的。 |
|
返回顶楼 | |