论坛首页 Java企业应用论坛

把我自己用的脚手架项目开放出来

浏览 32472 次
该帖已经被评为良好帖
作者 正文
   发表时间:2006-04-07  
adamzhao 写道
hongliang 写道
恩,对。我不太喜欢返回xml,因为:

Java Object -> XML -> JavaScript

服务器要生成xml,客户端还要拿javascript去解析,太麻烦,不如直接由服务器生成javascript对象来的爽快。


完全可以xmlDom+XPath的方式轻松实现xml的解析。
服务器端生成xml是不是比生成js更加简单方便一点?
充分利用客户端解析xml的便利会不会更加清爽方便一些呢?


问一下,有没有这样的js类库:

一段xml
<a>
  <b>the first sentence</b>
  <c>the second</c>
    <d>1</d>
    <d>2</d>
    <e>zzzz</e>
  </c>
</a>


然后能自动地将这段xml变为一个javascript对象:
var a = SomeGoodLibrary.parse(xml);;

//a.b为the first sentence
//a.c.e为zzzz
//a.c.d为一个array,里面有1和2两个元素


能吗?
0 请登录后投票
   发表时间:2006-04-07  
支持脚手架,呵呵
我推荐一个组合dwr+trimpath,用起来很好。
我是很喜欢dwr,dwr对于取javascript对象是强项,但是展示html页面很弱,当时就自己做了一个js template去解决展示html的问题,推荐给白衣后他找了一个灰常强的js template,也就是trimpath,
http://trimpath.com/project/wiki/JavaScriptTemplateSyntax
语法跟freemarker一致。见以下实例代码。
<#include "/includes/dwr_admin_init.ftl" />
<script language="javascript">
var categoryCallFlag = false;
var categoryId;
function getSublist(id); {
    if (!categoryCallFlag); {
        categoryCallFlag = true;
        categoryId = id;
	    var target = "child"+id;
		if($(target);.innerHTML.length == 0); {
		    adminDwrAction.getSublist(createSublist, id);;
		} else {
			if ($(target);.innerHTML != 'empty'); {
				showOrHide($(target););;
			}
		}
		categoryCallFlag = false;
	} else {
	    alert("上次一次操作还未结束,请稍候再试!");;
	}
}
function createSublist(categories); {
    var myTemplateObj = TrimPath.parseDOMTemplate("categoriesTemplate");;
    var target = "child"+categoryId;
    var data = {"categories":categories};
    $(target);.innerHTML = myTemplateObj.process(data);;
    if ($(target);.innerHTML.length == 0); {
        $(target);.innerHTML = "empty";
    } else {
        setClass($(target);, 'showlayer');;
    }
}
</script>
<table width="100%" cellspacing="0" cellpadding="3" >
  <tr><td><b><a href="content!input.action">栏目列表</a></b> <b><a href="/">首页</a></b></td></tr>
  <tr>
    <td> 
<#assign categories=action.rootCategoryChildren />
<#if categories?has_content >
<#list categories as c>
<div><a href="javascript:getSublist(${c.id});">+</a> <a href="content.action?entityId=${c.id}"><b>${c.title}<#if !c.state?exists || c.state != 1>(未发);</#if></b></a><div style="position:relative;left:10px" id="child${c.id}" class="hidelayer"></div></div>
</#list>
</#if>
    </td>
  </tr>
</table>
<!-- 以下是javascript模版,跟freemarker语法很像吧,基本上从上面抄下来 -->
<#noparse>
<textarea id="categoriesTemplate" class="hidelayer">
{for c in categories}
<div><a href="javascript:getSublist(${c.id});">+</a> <a href="content.action?entityId=${c.id}"><b>${c.title}{if c.state == null || c.state != 1}(未发);</b>{/if}</a><div style="position:relative;left:10px" id="child${c.id}" class="hidelayer"></div></div>
{/for}
</textarea>
</#noparse>
0 请登录后投票
   发表时间:2006-04-07  
这个TrimPath JST正是我想要的,太谢谢叻!!:D
0 请登录后投票
   发表时间:2006-04-07  
hongliang 写道
dwangel 写道
反正用ant+build.xml就可以解决的……


开发调试时我不用ant的,只在最后部署在生产环境上才用。因为开发调试时用的是嵌入式Tomcat,以Debug模式运行,改个东西连重启都不用。。。

我说的是用ant执行native2ascii去生成实际的properties。
一样可以在开发环境里用地,执行完,刷新下。
难道你希望能做到改个properties文件,直接出来东西?
0 请登录后投票
   发表时间:2006-04-07  
dwangel 写道
难道你希望能做到改个properties文件,直接出来东西?


是啊,不然你不嫌烦啊。

xfv5k 写道

1,楼主,能不能写个嵌入式tomcat,嵌入式jetty的教学文章。今天看到你这个嵌入式tomcat,来了兴致,google了些文章,试了一下,成是成了,还很迷糊。

2,我还不会用eclipse开发jsp.试了一下那个eclipse wtp,觉得不好用。用eclipse开发jsp,servlet,要装什么插件?一定要装那个Lomboz么?
都说eclipse好,我看那么大个家伙,学起来怪累地,不如记事本+ant来得快,只不过比ide少了语法查检和自动缩进。


嵌入式tomcat的代码比jetty要稍微多一些,不过也不算复杂,你可以看看我这个帖子:

http://forum.iteye.com/viewtopic.php?t=19403

jsp就算叻,我不写jsp:)
0 请登录后投票
   发表时间:2006-04-07  
hongliang 写道
是啊,不然你不嫌烦啊。

我喜欢先写英文的

xfv5k 写道

1,楼主,能不能写个嵌入式tomcat,嵌入式jetty的教学文章。今天看到你这个嵌入式tomcat,来了兴致,google了些文章,试了一下,成是成了,还很迷糊。

2,我还不会用eclipse开发jsp.试了一下那个eclipse wtp,觉得不好用。用eclipse开发jsp,servlet,要装什么插件?一定要装那个Lomboz么?
都说eclipse好,我看那么大个家伙,学起来怪累地,不如记事本+ant来得快,只不过比ide少了语法查检和自动缩进。

我就喜欢有语法检查的编译器。 wtp 开发jsp,多了个自动完成功能和校验。
只是要在文件头声明,taglib的标签也可以自动完成。

就算自动替换系统再方便,集成东西多了,也就不方便了。
本来想拿webwork的quickstart 开发的。
结果,加了spring之后,action动态没了……

程序写多了,其实倒是应该不太在意马上能出结果了,更看重预先的设计了。
java 开发还是用junit 好。
0 请登录后投票
   发表时间:2006-04-10  
native2ascii 其实可以省的。推荐一个eclipse插件:http://propedit.sourceforge.jp/index_en.html
properties编辑,可以自动存档为unicode。
0 请登录后投票
   发表时间:2006-04-11  
香克斯 写道
native2ascii 其实可以省的。推荐一个eclipse插件:http://propedit.sourceforge.jp/index_en.html
properties编辑,可以自动存档为unicode。

昨天刚在网上看到这个插件  :)
0 请登录后投票
   发表时间:2006-04-30  
我点“添加用户   ”
会出现
FreeMarker template error!

Expression user.birth is undefined on line 32, column 54 in user_edit.ftl.
The problematic instruction:
----------
==> ${user.birth?date?default('');} [on line 32, column 52 in user_edit.ftl]
 in user-directive c.input [on line 32, column 17 in user_edit.ftl]
 in user-directive c.html [on line 1, column 1 in user_edit.ftl]

0 请登录后投票
   发表时间:2006-11-16  
不能下载了。郁闷啊
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics