铁手剑谱

上善若水
数据加载中……

Struts秘籍之第2段:第3.7式: 动态产生JavaScript

第3.7式. 动态产生JavaScript

问题

你想要根据从应用模型获得的数据动态产生JavaScript。

动作要领

使用Struts 标签在你想要包含在HTML中的JavaScript 代码中渲染数据:

<script language="JavaScript">
    
function showMessage(  ) {
        alert( 
"Hello, <bean:write name='myForm' property='name'/>!" );
    }

</script>

 

动作变化

上述方案产生了一个JavaScript 函数,弹出一个消息框,消息文本为"Hello, name!" name的值是使用bean:write标签产生的。此方案展示了使用Struts 标签创建JavaScript 和它们创建HTML一样的容易。

JSTL也可以按这种方式使用。

虽然这种方法很明显,但是很奇怪很多人都在问这个问题。通常问题还可能是:"我如何才能从Struts中调用HTML中的JavaScript 函数?" 技术上讲,你并不能从Struts调用一个HTML页面中的JavaScript 函数。Struts 和JSP 技术都运行在服务器端。相反,JavaScript确是在客户端的浏览器中处理的。但是,通过这里所述的动态产生JS的能力,基本上还是相当于所需的这个行为。

这个方法的一个重要基础是JSP的转换过程。JSP 页面由JSP 声明,标准JSP 标签 (比如jsp:useBean), 定制JSP 标签(比如Struts 和JSTP 标签), 运行是表达式,以及脚本小程序(scriptlets)组成。除此之外的其他东西都是模板文本(template text)。模板文本可以是任何不会被JSP转换处理的内容。人们通常会认为模板文本就是HTML 标记,但是它其实是JavaScript 或者其他非JSP 处理的文本。JSP 翻译器并不关心模板文本采用何种形式。因此,你可以象在HTML元素中产生文本一样容易地在JavaScript 函数中产生文本。

如果你使用JSP 来产生良构的(well-formed)XHTML, 那么动态JavaScript 模版文本必须使用jsp:text元素和CDATA section的方式结合来指定。具体信息参见Hans Bergsten的ONJava 文章:http://www.onjava.com/pub/a/onjava/2004/04/21/JSP2part3.html

这里的例子仅仅列出了很简单的使用场景。如果要访问的模型数据需要使用复杂的JavaScript数据结构,比如,数组,你可以使用迭代标签,比如logic:iterate和c:forEach来组装这些结构。

相关动作

下一动3.8或会使用迭代标签来产生客户端的JavaScript 数组。

posted @ 2005-06-07 12:32 铁手 阅读(3851) | 评论 (3)编辑 收藏
JSF vs. ASP.NET

 看到JavaLobby上面有篇比较JSF和ASP的文章:

Is JSF ready to take on ASP.Net?
总体来看 JSF逐渐在使Java开发向着更加RAD的方向发展,JB, Oracle Jdeveloper, IBM WSAD/RAD, SUN JSF Creator等等都作的不错,提供了一定的visual可视化组件开发的能力和数据帮定能力。但是距离MS的可用性还是相差甚远。
尤其是VS.NET 2005一出之后,这个差距更大更需要努力了。

JSF预计出现的第3方组件市场并没有出现蓬勃发展,是因为JSF本身没有起来,还是IDE不够标准。可能两者都有,特别是后者,规范中并没有界定组件需要IDE支持,必须提供的元数据集合,那么到底是针对oracle呢,还是IBM?或者自行其是。

Struts继续占据着前端框架的霸主地位,WebWork和Tapstry艰难求生。连Spring也将触角伸到前端。JSF还是困难啊。

Matte Railbe的BLog中有一个关于框架的发展现状:

posted @ 2005-06-07 11:38 铁手 阅读(2312) | 评论 (2)编辑 收藏
《Struts in Action》还是需要修改一下了

去年闹着玩的《Struts in Action》译本,想不到网上流传的还是比较广泛了。不过去年草稿发出后,再也没有修改过了。前
几天翻出来看,倒是有不少错误,包括错别字和翻译错误。

觉得这样很不好,搞不好误人子弟。于是决定近日将其重新修改整理,发一个完整半出来。

感兴趣的,可以关注我这里的相关信息。我将在这里提供下载链接。

posted @ 2005-06-06 17:35 铁手 阅读(1273) | 评论 (8)编辑 收藏
J2EE vs .NET: 应用开发何去何从? 元框架?

JDJ上面有一篇 Duncan Mills 的文章,论述了框架技术的下一个发展,那就是Java世界需要一个元框架(Meta-Framework)。原文地址见:
http://java.sys-con.com/read/49198.htm


他认为,.NET之所以也很成功并且吸引很多人,总体来说,.net的技术成本要低的多(当然商业成本不低),这是因为.Net环境下有一个集成的统一框架,而java世界,则疲于整合各种JSR,各种技术,各种实现和各种框架。从Struts,WebWork, Tapstry, Hibernate, Spring, Keel....框架层出不穷。我们比较、学习、整合.....累啊。
 
因此,一个元框架的出现,应该符合以下的特征:
 

  • 范围广阔(Broad Scope) 框架应该涵盖从UI,到页面流控制器,到与多个底层服务 provider的集成,包括EJB, Web services, POJO...。
  • 并存(Coexistence) - 框架不能实现所有需要的功能,但是能够提供可插入的集成点。
  • 抽象(Abstraction) -足够抽象,并且你可以选择。以便能够对某些组件的具体实现进行替换。
  • 呵呵, 还有长寿(Longevity
  • 工具支持(Tooling)

这其中最流行的是什么?POJO,IoC/DIP?想想, 重量级的EJB3.0能否重整雄风?而轻量的Spring已经繁花似锦。另外, JSF整合了JSP, JSTL和Portel API之后,能否成为前端的标准?毕竟标准的事件模型还是令人鼓舞的,而且,浏览器的兼容问题也好解决一些。这些都有可能成为metaFramework的候选。
Oracle的ADF已经从ADF UIX迁移到JSF,这下厉害了。ADF(JSF+bizmodule)+TOPLINK, 是否有能够和 SPring + Hibernate有的一拼呢?

另外,Keel是否显得比较乱?
而 NetKernel 呢?

posted @ 2005-06-03 11:50 铁手 阅读(1042) | 评论 (0)编辑 收藏
TOP 10 XForms Engines(From XML.com)

看到XML.com一篇关于XForms引擎的评述,

Top 10 XForms Engines

地址是:
http://www.xml.com/pub/a/2005/02/09/xforms.html

 

  • Chibacon Chiba

  • DENG by way of UGO

  • x-port formsPlayer

  • Mozilla/Firefox

  • Novell Engines

  • OpenOffice and StarOffice

  • Oracle Engine

  • Orbeon Presentation Server (OIS)

  •  Zen Interactif xslt2xforms

  •  University of Helsinki X-Smiles

  •  Honorable Mention: Ripcord Technology nForms

posted @ 2005-06-03 11:11 铁手 阅读(820) | 评论 (1)编辑 收藏
仅列出标题
共26页: First 上一页 15 16 17 18 19 20 21 22 23 下一页 Last