精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2005-06-16
前台比如说有一个模板页。里面的表单元素是根据一个XML文件来动态配置生成。(如果页面多的话。就只配置多个的XML,只在XML文件里定义表单元素) a.xml文件: <root> <type>text</type> <name>phone</name> <root> 用boolValue = xmlDocument.load(a.xml);这种方式加载到一个页面来。 然后。根据a.xml文件的表单类型与名称。在页面上用脚本方式生成一个表单 <input type="text" name="phone"> 然后。当用户在前台填写值之后。再组成XML的字符串, 用var oReq = new ActiveXObject("Msxml2.XMLHTTP"); oReq.open("POST",this.u,false); oReq.send(ooo.xml); 这种方式传到JAVABean。javabean只判断下这个格式有没有正确。如正确就把这个XML送到第三方接口()。 请问这种设计方案是否可行呢???????? 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2005-06-16
这种方案肯定是可行的,这就是 XMLHTTP 的一个简单应用。对于数据格式的验证,只要不涉及到安全性,都可以放在客户端,在提交请求前用 JS 来做。
另外,如果对于 XML DOM 不熟悉,希望避免直接操作 DOM 的复杂性,可以使用 buffalo,你就不再需要知道 XML 了。 |
|
返回顶楼 | |
发表时间:2005-06-16
dlee 写道 这种方案肯定是可行的,这就是 XMLHTTP 的一个简单应用。对于数据格式的验证,只要不涉及到安全性,都可以放在客户端,在提交请求前用 JS 来做。
另外,如果对于 XML DOM 不熟悉,希望避免直接操作 DOM 的复杂性,可以使用 buffalo,你就不再需要知道 XML 了。 目前是有具电信应用的项目。比如说:一个产品固定电话,他的功能有几百种,如果说一种操作功能用一个页面的表单来处理,我是觉得很麻烦。但用XML也要一个操作功能写一个XML的表单要素。这样也要写好多个XML文件。 我有考虑用数据库存要素,会不会更好点呢?/ |
|
返回顶楼 | |
发表时间:2005-06-16
我觉得还是存在数据库里好,这样管理起来比较方便。在客户端需要这些数据的时候使用一个通用程序将数据封装在 XML 中传给客户端。当然,如果使用 buffalo,两边都只需要操作对象就可以了,不需要直接操作 XML。
|
|
返回顶楼 | |
发表时间:2005-06-16
dlee 写道 我觉得还是存在数据库里好,这样管理起来比较方便。在客户端需要这些数据的时候使用一个通用程序将数据封装在 XML 中传给客户端。当然,如果使用 buffalo,两边都只需要操作对象就可以了,不需要直接操作 XML。
您好dlee.看的你说了buffalo。我不了解,刚才在网上找了相关资料。 http://www.amowa.net/buffalo/tutorial.html 感觉却是一个好东东,不知你有没有成功的案例代码贴一点上来。 目前,我也只熟悉不多的XMLHTTP。在网上一直找成功的案例,也没找到,只一些小例子。不知你对这样的前台WEB应用XMLHTTP有没有什么好的方法呢?? ---------------------------------- 还有个下面的问题,代回答,谢谢 就像以前用struts一样,我们所有提示消息都是用message来打印在页面上。一个用户问我。为什么这系统没有在删除时像以前一样有弹出框(以前是用脚本来做了。点击是就提交表单,否则不提交) 我说:我把消息显示在页面上不行吗? 他说:这样不直观。 如果说struts也要跟脚本相结合来写这样的小功能,是不是违反了让前台JSP代码量少的用意呢。 |
|
返回顶楼 | |
发表时间:2005-06-16
你的想法和我的很相似,但是我最后还是使用了javascript template(jst),替代解析xml动态创建表单的方式。
xml的使用我觉得应该慎重,我谈谈我的看法: 1. 除非你还打算将表单的元素定义扩展为可以支持swing或者wap,否则没有多大的必要一定要通过xml方式来定义表单元素。解析xml后无论是通过document.createElement或者document.write 的方式都不直观而且难以调试。这还没有考虑性能的因素。 2. 再或者可以由xslt来构造显示,但我觉得xslt过于复杂,学习成本太高,更难于调试,如果大量使用的话,更是要慎之又慎。 3. 如果表单的设计可能需要用户的参与或者修改的话,一般的做法还是提供一个rich editor来操作,此时xml不直观,反复的解析xml是很无益的浪费。 buffalo 很不错,和jsonrpc各有优势,jsonrpc以ECMAScript标准的子集为基础,buffalo以burlap协议为基础。buffalo因为xml而显得更符合ajax的血统。不过jsonrpc在整个架构设计上更胜一筹。 |
|
返回顶楼 | |
发表时间:2005-06-16
醒来 写道 你的想法和我的很相似,但是我最后还是使用了javascript template(jst),替代解析xml动态创建表单的方式。
xml的使用我觉得应该慎重,我谈谈我的看法: 1. 除非你还打算将表单的元素定义扩展为可以支持swing或者wap,否则没有多大的必要一定要通过xml方式来定义表单元素。解析xml后无论是通过document.createElement或者document.write 的方式都不直观而且难以调试。这还没有考虑性能的因素。 2. 再或者可以由xslt来构造显示,但我觉得xslt过于复杂,学习成本太高,更难于调试,如果大量使用的话,更是要慎之又慎。 3. 如果表单的设计可能需要用户的参与或者修改的话,一般的做法还是提供一个rich editor来操作,此时xml不直观,反复的解析xml是很无益的浪费。 buffalo 很不错,和jsonrpc各有优势,jsonrpc以ECMAScript标准的子集为基础,buffalo以burlap协议为基础。buffalo因为xml而显得更符合ajax的血统。不过jsonrpc在整个架构设计上更胜一筹。 现在公司也有人打算用xslt,我是觉得成本太高,我觉得在页面我们只要关心与数据相关的东东。至于整个模板页用jsp(里面只有html,就好比struts的tiles )又怎么样了。现在一直是没有找到解决前台表单自动生成的问题。 还有,现在XMLHTTP我要应用在EJB上(就是要远程调用),性能上,速度上,我也没测试过。也不好评估出来到底要怎么做比较好????? |
|
返回顶楼 | |
发表时间:2005-06-16
摆渡人 写道 现在公司也有人打算用xslt,我是觉得成本太高,我觉得在页面我们只要关心与数据相关的东东。至于整个模板页用jsp(里面只有html,就好比struts的tiles )又怎么样了。现在一直是没有找到解决前台表单自动生成的问题。
还有,现在XMLHTTP我要应用在EJB上(就是要远程调用),性能上,速度上,我也没测试过。也不好评估出来到底要怎么做比较好????? 完全可以体会你的苦处,我也一直探索对表单自动生成的实现。这个版开得好啊。 xmlhttp的性能是可以保证的,久经考验了。更多的考量我觉得应该放在调试的成本上。Ajax在调试上还有许多需要完善。也希望你的同事一定要先了解更多xslt以后再做决定。 |
|
返回顶楼 | |
发表时间:2005-06-16
醒来 写道 完全可以体会你的苦处,我也一直探索对表单自动生成的实现。这个版开得好啊。 xmlhttp的性能是可以保证的,久经考验了。更多的考量我觉得应该放在调试的成本上。Ajax在调试上还有许多需要完善。也希望你的同事一定要先了解更多xslt以后再做决定。 上面dlee有说过用数据库。可能会更好吧。我就连生成表单也先用xmlhttp方式生成。 表里头存两个字段:表单的type与name. 前台循环产生。 而不用XML。 |
|
返回顶楼 | |
发表时间:2005-06-16
dlee 写道 我觉得还是存在数据库里好,这样管理起来比较方便。在客户端需要这些数据的时候使用一个通用程序将数据封装在 XML 中传给客户端。当然,如果使用 buffalo,两边都只需要操作对象就可以了,不需要直接操作 XML。
我做了一个demo.但用数据库有个问题。没办法判断是那种类型的表单. 这个变成在数据库里要多存,是input ,select,还是其它的东东。。 有没有更好的解决类型问题。不然的话。前台导入只能用XML先显示。 我的方法如下: 先从数据库里取出值.这时,在类型上怎么解决更好呢。 <form name="myform2" id="myform" method="post" action=""> <% while(it.hasNext()){ inputBean rs = (inputBean)it.next(); %> <%=rs.getTitle()%>:<input name="<%=rs.getName()%>" type="<%=rs.getType()%>" value="" onchange="setValue(this.name,this.value)"><br> <% } %> </form> 然后。。其实在点击时,在脚本上已经触发脚本onchange="setValue来存值。格式是XML的。然后用xmlhttp的send();发送到java. 其XML格式是 <?xml version="1.0" encoding="utf-8"?> <data type="form"> <v n="' + str1 + '" v="' + str2 + '" /> <v n="' + str1 + '" v="' + str2 + '" /> ......................其中n是字段的名称,v 为字段的值传到后。但首先n这个东东 在与后台定义上总觉得不怎么好。(估计要与数据库的字段名一一对应,才有办法存值)???? </data> 这种方式如何。。。。。。。。 |
|
返回顶楼 | |