1、liferay4.3 final版本中新建結構、模板、文章過程中,編號似乎只能是自動生成,如果自己定義就報錯,不知道是不是我定義的編號不符合liferay的內部約束,沒仔細研究,這應該不是大問題,自動生成也沒什么不好。在以前的版本liferay4.2.2是可以自己定義編號的。
2、在定義結構時,最好直接通過發射編輯寫XSL文件的方式來實現,如果是自己通過點擊增加行的方式,需要自己定義屬性名,這些屬性名在后面定義模板的時候需要用到,而且應該保持一致,所以通過定義XSL文件保持原sample(以前的文章中有提供下載)中提供的那些基本結構,可以避免在定義模板時引起不必要的麻煩。
*3*、解決使用已經定義好的結構模板配置的文章出現亂碼的問題:
在liferay4.2.2中利用提供的結構和模板定義,配置多種結構的文章都沒出現任何亂碼的問題,但將原來的那些基礎模板應用到4.3版本中,就出現了亂碼的問題,剛開始很不解,結構和模板都是原系統中摘取下來的,不可能出錯的啊?后來通過對比才知道,老版本的模板.XSL文件頭部沒有包含任何字符編碼文件,例如:




















































1
<?xml version="1.0" ?>
2
3
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
4
<xsl:output method="html" omit-xml-declaration="yes" encoding="gb2312"/>
5
<xsl:template match="/">
6
<table cellpadding="0" cellspacing="0" border="0" width="100%">
7
<tr>
8
<td>
9
<div style="float: right; position: relative; padding-left: 10px;">
10
<img>
11
<xsl:attribute name="src">
12
<xsl:value-of disable-output-escaping="yes" select="root/dynamic-element[@name='image']/dynamic-content"/>
13
</xsl:attribute>
14
</img>
15
</div>
16
<xsl:if test="root/dynamic-element[@name='textarea']/dynamic-content != ''">
17
<xsl:value-of disable-output-escaping="yes" select="root/dynamic-element[@name='textarea']/dynamic-content"/>
18
</xsl:if>
19
</td>
20
</tr>
21
<tr>
22
<td>
23
<br/>
24
</td>
25
</tr>
26
</table>
27
</xsl:template>
28
</xsl:stylesheet>

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

由此問題引發思考:
在編碼過程中,幾乎所有的亂碼問題都是因為字符編碼的設置問題,所以在遇到有亂碼的情況下,首先要想到的就是檢查編碼方式的設置,是否國際化?這可能是解決亂碼問題的特定的解決思路。當然我們也由此發現encoding="UTF-8"也不是萬能的,還是要實際問題實際解決。