在seam中进行带格式文本输出时,格式控制符一块儿显示出来了,查询到以下内容:
h:outputText有一个 escape 属性用来处理html 标签. 默认值为true.这意味着所有特殊的符合都被转义为'&'代码. 请看下面示例:这些东西好像多我来说没啥用处。
打印的结果是:
This is a text
而
打印的结果是:
This is a text
根据http://commons.apache.org/lang/api/org/apache/commons/lang/StringEscapeUtils.html
修改JsfFuntions.java
...
import org.apache.commons.lang.StringEscapeUtils;
...
while (ie.hasNext())
{
Syscntext cntext = (Syscntext) ie.next();
sct = cntext.getCntext();
sct = StringEscapeUtils.unescapeHtml(sct);
//sct = "aaaa";
}
...
编译,发布,浏览,出错啦:
javax.el.ELException: /WEB-INF/facelets/tags/cnText.xhtml @21,38 value="${label}":
/WEB-INF/facelets/tags/cnText.xhtml @17,57 value="${arc:getCnText(enTag)}":
java.lang.NoClassDefFoundError: org/apache/commons/lang/StringEscapeUtils
可能是打包时没有打进commons-lang.jar
修改examples/build.xml:
<!-- Dependencies for using Seam with Richfaces -->
<fileset id="richfaces-api.jar" dir="${lib.dir}">
<include name="richfaces-api.jar" if="richfaces.lib" />
<include name="commons-beanutils.jar" if="richfaces.lib" />
<include name="commons-digester.jar" if="richfaces.lib" />
<!--cbq begin -->
<include name="commons-lang.jar" if="richfaces.lib" />
<!--cbq end -->
</fileset>
呵呵,成功了99%,因为,我发现换行符不能处理:
开发jise的目的,是因为我不习惯seamgen的界面,同时seamgen对中文的支持不好。呵呵呵,
这样我们就有了中文的seamgen。<br /> jise是免费的,大家可以随便用。
jise的模板是文本的,包括java代码的生成模板,和页面xhtml的生成模板,
大家可以随便改。<br /> 现在,jise具有以下功能:<br />
1、对英文字段名的中文化设置、显示。<br />
2、针对一张表,生成后台java代码和前台页面,包含增查删改功能。
怎么办呢?
2008.6.7 经群友 カイバ_seam(61304189) 指点,解决之:
修改cnText.xhtml
<h:panelGroup>
<h:outputText value="${label}" escape="false"/>
</h:panelGroup>
----cbq----
2008.6.4