昨日、ボタンを 2 回押さなければ機能しないという質問を投稿しました。stackoverflow の特徴である適切なサポートを受けましたが、問題はまだ存在します。コードを最小限に減らしましたが、問題はまだ存在します。BalusCの提案をよく読んで、フォーム内にフォームが見つかることを期待しています。確かに何も見えないので、追加の目で何かが見えることを期待してコードを投稿します。
ウェルカム (ログイン部分) から呼び出すテンプレートがあります。これは、コマンド ボタンを持つ userInfo に移動します。これは、不思議なことに 2 回押さなければならないコマンド ボタンです。コマンド ボタンを 2 回押すと、userPhoto に移動します。投稿できるように、すべてが最小限にトリミングされています。
master.xthml:
<?xml version="1.0" encoding="UTF-8"?>
<!--
To change this template, choose Tools | Templates
and open the template in the editor.
-->
<!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:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.org/ui">
<h:head>
<title>Master template</title>
</h:head>
<h:body>
<p:layout fullPage="true" >
<p:layoutUnit position="north" size="254">
Top
</p:layoutUnit>
<p:layoutUnit position="east" size="50" resizable="true">
Hello
</p:layoutUnit>
<p:layoutUnit position="south" size="30">
south
</p:layoutUnit>
<p:layoutUnit position="center">
<ui:insert name="AreaOne">Default text</ui:insert>
</p:layoutUnit>
</p:layout>
</h:body>
</html>
ようこそ1.xhtml:
<?xml version="1.0" encoding="UTF-8"?>
<!--
To change this template, choose Tools | Templates
and open the template in the editor.
-->
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.org/ui">
<ui:composition template="master.xhtml">
<ui:define name="AreaOne">
<h:form id="form1">
<p:commandButton type="submit" value="Login" action="userInfo" />
</h:form>
<p:messages />
</ui:define>
</ui:composition>
</html>
最後になりましたが、2 回押す必要があるボタンを含む userInfo.xhtml:
<?xml version="1.0" encoding="UTF-8"?>
<!--
To change this template, choose Tools | Templates
and open the template in the editor.
-->
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.org/ui">
<ui:composition template="master.xhtml">
<ui:define name="AreaOne">
<h:form id="formP">
<p:commandButton type="submit" value="photos" action="userPhoto" />
</h:form>
<p:messages />
</ui:define>
</ui:composition>
</html>
他のフォーム内にネストされたフォームは見当たりませんが、何かが間違っていて、何が原因なのかわかりません。BalusC が ajax と関係があるというのは正しいかもしれませんが、それもわかりません。
すべての助けをありがとう。宜蘭
userInfo ページに戻るボタンを userPhoto ページに追加しました。ログインボタンは、最初に押したときに機能する唯一のボタンです。コマンド ボタンを使用して userInfo と userPhoto を切り替えると、常に 2 回押す必要があります。userPhotoの中心をお見せします
<ui:composition template="master.xhtml">
<ui:define name="AreaOne">
<h:form id="form3">
<p:commandButton type="submit" value="home page" action="userInfo" />
</h:form>
<p:messages />
</ui:define>
</ui:composition>