1

Javascript からの Facelets ページの読み込みに問題があります。私は Netbeans 7.2、Glassfish 3.1.2、および Java EE 6 を使用しています。

簡単なテストページを作成しました:

<html xmlns="http://www.w3.org/1999/xhtml"
  xmlns:h="http://java.sun.com/jsf/html">
<h:head>
    <script type="text/javascript">
        window.location.href = "index.xhtml";
    </script>
    <title>winq match!</title>
</h:head>
<h:body>
    <h1>WING MATCH!!</h1>
    <h:form>
        <h:commandButton id="Next" value="weiter" action="index"/> 
    </h:form>
</h:body>

index.xhtmlロードする必要があるページは次のwindow.location.hrefとおりです。

<html xmlns="http://www.w3.org/1999/xhtml"
  xmlns:h="http://java.sun.com/jsf/html"
  xmlns:f="http://java.sun.com/jsf/core">
<h:head>
    <title>Facelet Title</title>
</h:head>
<h:body>
    <h:form>
        <h:outputText value="TestTestTestTestTest"/>
        msg <h:inputText id="ema" value="#{testBean.inputValue}" maxlength="1" />      
        <h:commandButton id="but" value="Submit" action="index"/>
    </h:form>
</h:body>

ページは読み込まれますが、解析されないため、h:タグはブラウザーによって解釈されません。これでウェブを検索した後、このような問題を抱えているのは私だけのようです。JSF のいくつかの側面を誤解しているかもしれません。これについて何かアドバイスをいただければ幸いです。

4

1 に答える 1

0

FacesServletリクエストURLがwebappで定義されているのURLパターンと一致していることを確認する必要がありますweb.xml。つまり、JSF/Faceletsのすべての作業を実行する責任があります。

たとえば、にマップした場合は*.jsf、正確にそのURLパターンでページを開いて、FacesServletが適切に呼び出され、index.xhtmlファイルを見つけて必要なすべての処理を実行できるようにする必要があります。

window.location.href = "index.jsf";

または、のURLパターンをに変更することもできFacesServletます*.xhtml。これにより、仮想URLについて心配する必要がなくなります。

参照:

于 2013-01-25T02:35:28.423 に答える