2011-06-16 50 views
2

我有我的自定義的JSF組件的一個問題。我的組件被稱爲inputTextCustomELException在解析h的樣式屬性的條件表達式時:inputText的

在使用此自定義組件的頁面之一,我有:

<s:inputTextCustom length="400px"/> 

而且我的自定義組件的定義中,我使用了一個h:inputText如下:

<ui:composition> 
.... 
.... 
<h:inputText style="width:#{empty length ? 500px : length}" /> 
.... 
.... 
</ui:composition> 

但是,我得到以下例外:

javax.el.ELException: Error Parsing: width:#{empty length ? 500px : length} 
    at org.apache.el.lang.ExpressionBuilder.createNodeInternal(ExpressionBuilder.java:125) 
    at org.apache.el.lang.ExpressionBuilder.build(ExpressionBuilder.java:150) 
    at org.apache.el.lang.ExpressionBuilder.createValueExpression(ExpressionBuilder.java:194) 
    at org.apache.el.ExpressionFactoryImpl.createValueExpression(ExpressionFactoryImpl.java:68) 
    at com.sun.facelets.tag.TagAttribute.getValueExpression(TagAttribute.java:256) 
    ... 119 more 
Caused by: org.apache.el.parser.ParseException: Encountered " "?" "? "" at line 1, column 22. 
Was expecting one of: 
    "}" ... 
    "." ... 
    "[" ... 
    ">" ... 
    "gt" ... 
    "<" ... 
    "lt" ... 
    ">=" ... 
    "ge" ... 
    "<=" ... 
    "le" ... 
    "==" ... 
    "eq" ... 
    "!=" ... 
    "ne" ... 
    "&&" ... 
    "and" ... 
    "||" ... 
    "or" ... 
    "*" ... 
    "+" ... 
    "-" ... 
    "/" ... 
    "div" ... 
    "%" ... 
    "mod" ... 

    at org.apache.el.parser.ELParser.generateParseException(ELParser.java:2142) 
    at org.apache.el.parser.ELParser.jj_consume_token(ELParser.java:2024) 
    at org.apache.el.parser.ELParser.DeferredExpression(ELParser.java:113) 
    at org.apache.el.parser.ELParser.CompositeExpression(ELParser.java:40) 
    at org.apache.el.lang.ExpressionBuilder.createNodeInternal(ExpressionBuilder.java:93) 
    ... 123 more 

有人可以告訴我我在做什麼wr在這裏?

在此先感謝!

回答

1

當你想表示EL字符串值,你需要明確說出來了。

<h:inputText style="width:#{empty length ? '500px' : length}" /> 

雙引號也是語法有效,但通常不會跟一般的編輯器的語法高亮拌勻(也沒有一個在這裏SO)時表達的一個標記屬性內聯值本身被雙引號括起來。

<h:inputText style="width:#{empty length ? "500px" : length}" /> 
+0

我現在看到我錯在哪裏。感謝您回答我的新手問題! :) – user801778 2012-01-18 14:13:25