2

これはフェイスレットです:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


 <html xmlns ="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html">

 <h:head>
 <title>Title</title>
 </h:head>

 <h:body>
 <h:form>
 <h:commandButton value ="Converter" action ="#{conversorMonetarioBean.converte}"/>
 <h:inputText value ="#{conversorMonetarioBean.valor}"/>

 <h:outputLabel value ="de" for ="de"/>

 <h:selectOneMenu value ="#{conversorMonetarioBean.de}" id="de">
 <f:selectItems 
    value ="#{conversorMonetarioBean.taxas.keySet()}"
    var ="moeda"
    itemValue ="#{moeda}"
    itemLabel ="#{moeda}" />
 </h:selectOneMenu>

 <h:outputLabel value ="para" for ="para"/>

 <h:selectOneMenu value ="#{conversorMonetarioBean.para}" id="para">
 <f:selectItems
     value ="#{conversorMonetarioBean.taxas.keySet()}"
     var ="moeda"
     itemValue ="#{moeda}"
     itemLabel ="#{moeda}"  /> 
 </h:selectOneMenu>
 </h:form>



<h:outputFormat value ="{0} em {1} equivale a {2} em {3}" rendered ="#{conversorMonetarioBean.resultado != null}">
 <f:param value ="#{conversorMonetarioBean.valor}"/>
 <f:param value ="#{conversorMonetarioBean.de}"/>
 <f:param value ="#{conversorMonetarioBean.resultado}"/>
 <f:param value ="#{conversorMonetarioBean.para}"/>
 </h:outputFormat>
</h:body>
</html>

f:selectItems は不明なタグです。

何が間違っている可能性がありますか? 私は JSF2、GlassFish 3.1.2、Eclipse を使用しています。ctrl+space を試してみましたが、h:something タグしかありませんでした。

4

1 に答える 1

7

宣言でf名前空間をインポートするのを忘れたので、上部のセクションは次のようになります。htmlxmlns:f="http://java.sun.com/jsf/core"

<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core">

また、IDE がf名前空間が欠落しているというヒントを示している可能性があるため、その指示に従ってインポートを行うと問題が解決します。

于 2013-05-12T00:24:57.933 に答える