就是类似于JSP的东西,是APACHE的一个项目!
解决方案 »
- java 解矩阵方程
- Java对象流,大家来看看,帮我讲解下,这里谢谢大家了
- Swing高手关注!使用SwingUtilities.invokeLater
- java小应用的配置文件的选择问题。
- 文件操作
- java 基础问题
- Mysql 列类型 发在mysql那里没人回复 发这里来了
- 这样的写法有无区别?
- 紧急:请给一个JRun Studio的最新正式版下载地址!
- 在Linux下Weblogic问题
- socket连接时,服务器怎么知道另外客户机断开连接了
- 怎么这个requestFocus()不好使? 看似简单的问题怎么在我的程序中就不行?ivjJTextField1.requestFocus()得不到焦点!问题出在哪里?
Cocoon - 基于XML的Web内容发布
Cocoon是采用100%纯Java编写的一个内容发布框架。Cocoon让你能采用W3C的最新技术(DOM、XML、XSL)来提供Web内容。
新的Cocoon模式能将文档内容、样式、处理逻辑进行完全的分离,允许这三层能独立地设计、创建和管理,从而减少了管理开销,加强了工作的重用性,减少了开发时间。
下载地址:http://xml.apache.org/cocoon
它的文档里有说可以生成xml并把xsl引入来转化为各样的格式文档。
象它的例子中的hello.xml向各种格式的转化都在sitemap里有相应的设定
如果我有一个notsayhello.xml需要发布是不是也要在里面做设定呢?
从角色任务上看,程序员主要负责JavaBean、Servlet和编写自定义标签库(现在可以使用JSTL从而大大减少负担);设计者编写“不包含java代码”的JSP,实际上是若干种标记的混合,HTML+JSTL+自定义标签。我认为这种框架比较适合于以Java程序员为主的团队,以及业务逻辑复杂的应用。注意,正如JSP的内嵌Java代码可以实现业务逻辑,JSP的TagLib技术,一样可以用于实现业务逻辑。当然使用TagLib将比内嵌Java代码好许多,因为代码被封装到了TagLib中,因此对于小的应用还是可以使用JSP,而不用写Servlet。例如使用JSTL的sql tag,来直接处理数据库(这实际上意味着基本没有或者只有极其简单的包含在sql语句中的业务逻辑)。也可以用像<c:if>、<c:forEach>之类的tag来处理业务逻辑,虽然通常应该只被用来处理显示逻辑。固然,这些功能会“引诱”一些人过度使用TagLib的能力而破坏了设计原则,但对于原型开发、测试以及轻量级应用,实在是太有用了!如果是企业级应用,相信有能力做企业级应用的程序员,也会有足够的意识来按照MVC模式开发。Apache的Struts是一个基于JSP实现MVC的很好的框架,建议有兴趣的同志研究研究。而Cocoon,用XML表示数据(内容),用XSP(非常类似JSP的XML形式)编写业务逻辑,用XSLT实现表示层(HTML、WML、某种格式的XML甚至PDF),并用sitemap(Cocoon 2)集中管理。XSP逻辑单则与JSP的TagLib从概念到用法非常相似,只是实现方法略有不同。JSP的TagLib包括一个xml格式的定义文件和实现的Tag类,并被编译使用;而XSP逻辑单则在运行时(当然可以进行Cache)应用XSLT进行从标记到代码的转换。(按照我对IBM教程的理解)事实上按照管道的概念,从原始数据到最终呈现可以有任意层,至于如何分层,每个层的用途,则在于设计者。这也是为什么Cocoon被定位于Web发布“框架”。一个处理流程可以被描述为:(摘自IBM教程)
从用户接受请求。
确定用来解释该请求并生成响应的适当管道(使用匹配器)。
从可用的预配置的组件构造管道。
指示管道为请求服务。
将由管道生成的响应返回用户,可能对结果进行高速缓存以便以后使用。在JSP Model 2里,Servlet扮演“调度员”的角色,我们用它来控制任务分派,这有点类似管道所作的事情。事实上,Cocoon就是一个大Servlet。只是Servlet在2.3之前缺乏管道机制,只能进行简单的forward和include,如果需要多重处理机制,就不得不依靠扩展库(比如IBM的WebSphere),或者采用Cocoon。但是现在Servlet有非常强大的filter机制。这使得Cocoon与JSP越来越有结合的趋势。
不过今天安装Jbuilder 5时看到里面也有cocoon
有人用过吗,能说说吗
jb6里面的cocoon我用过, 好像不是cocoon2.0. 里面的demo也很少. 建议用tomcat4.01+cocoon2.02+jdk1.31to: hax
今天试验了一下map:mount, 在改变子sitemap的时候编译特别快.
另外, 在处理esql分页的时候是不是一定要filter x'fmr? 这种方法是不是遍历了整个rs?