seam中格式化文本的处理

时间:2022-04-14 19:59:46

在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