听说这里牛人多,对这个不知道大家是怎么做的

听说这里牛人多,对这个不知道大家是怎么做的

问题描述:

有这样的一个需求,

通过一个xml文件定义页面上要生成的元素,比如 按钮,下拉列表等等,

而页面则自动根据xml 文件中定义的元素来生成相应的界面内容,

问题是:

比如按钮的位置,大小,上面的文字内容以及样式,本身的样式,事件等等

这些东西太多,如何比较好的在xml中定义

小弟我想了好久,基本没什么头绪,所以来这里请教了,还望大家多多指导
问题补充
zk? taglib?

本人入行不久,tablig还知道点,zk就不清楚了,还请楼上的说的详细些

比如:

我在xml文件中定义了一个button,一个下拉列表(它们的位置 和样式等)

页面根据这个xml文件 自动生成一个button 和一个下拉列表,样式和位置生成什么都是根据

这个xml文件定义的


问题补充
我查了下,zk是一个ajax框架,但不是这样

我基本所有的页面元素都在xml文件中定义好了,这个xml文件实际就是一个页面模板

它存放了所有页面要显示的元素
问题补充

rainerWJY 写道
直接用swing映射html.

直接用swing映射html应该不行



html还算熟悉 dom 就一般了,

详细的我还没想好,但是页面上要显示的html元素 都要在xml文件中定义好

就是没什么思路,不知道xml文件中该如何来定义,

因为html元素种类多,属性多,页面可能还有嵌套的元素,所以比较麻烦感觉
问题补充
bloodrate 写道
用taglib好,否则你可能要在每次调用展现层的时候都传大量乱七八糟的数据和业务数据搅和在一起...

你说的也是,

但使用标签的话,达不到自动生成的页面的效果

而且我比如要去掉一个button 直接修改xml文件就可以了,不用去jsp页面上进行修改
问题补充
rainerWJY 写道
seety 写道
rainerWJY 写道
直接用swing映射html.


直接用swing映射html应该不行



html还算熟悉 dom 就一般了,

详细的我还没想好,但是页面上要显示的html元素 都要在xml文件中定义好

就是没什么思路,不知道xml文件中该如何来定义,

因为html元素种类多,属性多,页面可能还有嵌套的元素,所以比较麻烦感觉






这个问题我是思考过的。

1.这个思路很多人都能想的到。如果有这样的好的解决方案,我相信swing会很火。

2.没有,替代是什么?或许是flex。不过我没什么研究

3.html解析+渲染这个还是交给浏览器去做吧。他们就做这个的。

4.简单的实用性不强,不简单的一个人做不来。。。






其实我也觉得有点难度,所以跑到这里来了,集思广益,

弄个还算过的去的就可以了,以后有心思路了再改进

是WEB吗

如果是WEB的话,你可以先创建一个var xml=''把你的XML文件内容放在里面,当然要把所有空格去掉,

然后你可以在初始话函数里面写一个JS来倒入你的XML对象

[code="java"]
var xmlDoc = null;
try{
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
}catch(e){
xmlDoc = document.implementation.createDocument("","",null);
}

function sethostlist(xml){
然后再把你的这个字段
xmlDoc.loadXML(xml);
var nodelist=xmlDoc.selectNodes("//M");
for(var ni=0;ni<nodelist.length;ni++)
{
解析你的XML文件
然后把所有你需要的值取出来
var str ="";//这里拼接你要的界面
var obj=document.createElement("div");

obj.innerHTML=str;
document.body.appendChild(obj);

}

}
[/code]

你说的是ZK还是Taglib?推荐ZK

如果你对HTML和Dom比较熟悉的话,也不难做,不过还不知道,你详细是要做成什么样子。

直接用swing映射html.

[quote="seety"][quote="rainerWJY"]直接用swing映射html.[/quote]
直接用swing映射html应该不行

html还算熟悉 dom 就一般了,
详细的我还没想好,但是页面上要显示的html元素 都要在xml文件中定义好
就是没什么思路,不知道xml文件中该如何来定义,
因为html元素种类多,属性多,页面可能还有嵌套的元素,所以比较麻烦感觉[/quote]
一句话,如果要用XML完全表现HTML,那为什么不直接用HTML?你要使用XML,肯定有封装吧....

用taglib好,否则你可能要在每次调用展现层的时候都传大量乱七八糟的数据和业务数据搅和在一起...

[quote="seety"][quote="rainerWJY"]直接用swing映射html.[/quote]
直接用swing映射html应该不行

html还算熟悉 dom 就一般了,
详细的我还没想好,但是页面上要显示的html元素 都要在xml文件中定义好
就是没什么思路,不知道xml文件中该如何来定义,
因为html元素种类多,属性多,页面可能还有嵌套的元素,所以比较麻烦感觉[/quote]

这个问题我是思考过的。
1.这个思路很多人都能想的到。如果有这样的好的解决方案,我相信swing会很火。
2.没有,替代是什么?或许是flex。不过我没什么研究
3.html解析+渲染这个还是交给浏览器去做吧。他们就做这个的。
4.简单的实用性不强,不简单的一个人做不来。。。

请直接看微软.net中的WPF,呵呵,xml文件定义界面,还不错

干嘛绕这么大的弯子,直接用XHTML可以吗?

其实,规规矩矩的HTML和XML是一样滴,我觉得你把XML定义的和HTML一样,然后直接把XML内容读取到jsp里面就可以了,嘿嘿 :wink:

xml与xslt一起吧
可是可以,复杂的页面不是很折腾啊.\