今天遇到一个问题,在Webwork 2.2里面给一个Action的result传多个参数:
原先配置如下
<
action
name
="blahblahAction"
class
="blahAction"
method
="blah"
>
< result name ="success" type ="redirect" > /some.action?field1=${field1} &field2 =${field2} </ result >
</ action >
< result name ="success" type ="redirect" > /some.action?field1=${field1} &field2 =${field2} </ result >
</ action >
运行时候出现如下提示:
The reference to entity "field2" must end with the ';' delimiter.
我本以为是OGNL的问题,四处搜寻,不得其解……看了DTD也没有发现问题。
后来修改过程中突然发现原来是SAX解析器出错,我这才想到可能是XML的问题。
经过再三查询得到解决方案:
使用"&"代替"&",原理和HTML中的转义相同,我居然忘记了XML的语法规范,惭愧。
配置如下:
<
action
name
="blahblahAction"
class
="blahAction"
method
="blah"
>
< result name ="success" type ="redirect" > /some.action?field1=${field1} & field2=${field2} </ result >
</ action >
< result name ="success" type ="redirect" > /some.action?field1=${field1} & field2=${field2} </ result >
</ action >