0

JSF 1.1に問題があります(恐竜、私は知っています)

したがって、index.jsp と test.jsp の 2 つのページがあります。「作成」ボタンをクリックした後、index.jsp から test.jsp にリダイレクトする必要があります。

しかし、何も起こりません:/

psそして、一般的に、そこにログを記録するにはどうすればよいですか。クリックイベントのログさえないことを知っています! それは恐ろしいです

index.jsp

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<%-- jsf:pagecode language="java" location="/src/pagecode/Index.java" --%><%-- /jsf:pagecode --%>
<%@page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>

<html>
<head>
<title>index</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="GENERATOR" content="IBM WebSphere Integration Developer 6.2">
<link rel="stylesheet" type="text/css" title="Style"
    href="theme/stylesheet.css">
</head>
<f:view>
    <body>
    <h:panelGrid columns="1" width="12%" cellpadding="10" rendered="true">

        <h:commandButton value="Create" action="#{Controller.create}" />
    </h:panelGrid>

    </body>
</f:view>
</html>

コントローラー.java

public class Controller extends PageCodeBase {


    public String create() {
        return "success";
                 }

}

顔-config.xml

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE faces-config PUBLIC
    "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN"
    "http://java.sun.com/dtd/web-facesconfig_1_1.dtd">

<faces-config>
    <managed-bean>
        <managed-bean-name>Controller</managed-bean-name>
        <managed-bean-class>pagecode.Controller</managed-bean-class>
        <managed-bean-scope>request</managed-bean-scope>
    </managed-bean>


    <navigation-rule>
        <display-name>index</display-name>
        <from-view-id>/index.jsp</from-view-id>
        <navigation-case>
            <from-outcome>success</from-outcome>
            <to-view-id>/test.jsp</to-view-id>
            <redirect />
        </navigation-case>
    </navigation-rule>
</faces-config>

web.xml

<welcome-file-list>

        <welcome-file>index.jsp</welcome-file>
        <welcome-file>test.jsp</welcome-file>
</welcome-file-list>
4

2 に答える 2

1

JSF<h:commandButton>は HTML 要素を生成します。この要素は、JSF に相当する .html 要素<input type="submit">にネストされている場合にのみ機能します。<form><h:form>

<h:form>ただし、ビューにはどこにもありません。それに応じて追加します。

<h:form>
    <h:commandButton value="Create" action="#{Controller.create}" />
</h:form>

ところで、メソッドが固定の結果を返すだけの場合は、属性createで結果を直接指定することもできます。action

<h:form>
    <h:commandButton value="Create" action="success" />
</h:form>

ところで #2、ページ間のナビゲーションに POST を使用するのは悪い習慣です。これには出力リンクを使用することをお勧めします。

以下も参照してください。

于 2013-05-08T13:17:21.100 に答える
-1

create メソッドは文字列を返す必要があります。この文字列は、リダイレクトするページへのパスです。交換:

return "success";

為に:

return "yourpage"
于 2013-05-07T17:34:10.297 に答える