jsf - 命令按钮操作方法未在 Liferay 中调用

标签 jsf liferay portlet

我有以下 portlet view.xhtml:

 <?xml version="1.0"?>
    <f:view xmlns="http://www.w3.org/1999/xhtml"
        xmlns:c="http://java.sun.com/jsp/jstl/core"
        xmlns:f="http://java.sun.com/jsf/core"
        xmlns:h="http://java.sun.com/jsf/html"
        xmlns:ui="http://java.sun.com/jsf/facelets"
        xmlns:p="http://primefaces.org/ui">

            <h:body>

                <h:form>
                    <h:commandButton value="TESTButton" action="#{navigationViewBean.submit}" />
                    <h:outputText value="TESTGetter: #{navigationViewBean.testField}" />
                </h:form>
            </h:body>
    </f:view>

这个托管 bean:

import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;

@ManagedBean(name = "navigationViewBean")
@RequestScoped
public class NavigationViewBean {
    private String testField;
    public boolean lol = false;

    public void submit() {
        System.out.print("TEST BUTTON INVOKED");
    }

    public String getTestField() {
        System.out.print("TEST GETTER INVOKEDx");
        return testField;
    }

    public void setTestField(String testField) {
        this.testField = testField;
    }

}

我尝试做的唯一一件事就是调用一种方法,将某些内容打印到我的控制台。问题是无论我做什么,都不会调用操作方法。正确调用了 getter 方法。

我做错了什么?

最佳答案

我不确定为什么,但在将此行添加到我的 liferay-portlet.xml 后它修复了它。

<requires-namespaced-parameters>false</requires-namespaced-parameters>

这里是整个 block :

<portlet>
        <portlet-name>Test1</portlet-name>
        <icon>/icon.png</icon>
        <requires-namespaced-parameters>false</requires-namespaced-parameters>
        <header-portlet-css>/css/main.css</header-portlet-css>
</portlet>

关于jsf - 命令按钮操作方法未在 Liferay 中调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30547743/

相关文章:

java - 如何自定义<h :messages/> style in JSF 2?

tomcat - 部署单个 liferay ext 时,我得到 404 资源未找到

java - 是否可以从 portlet 代码访问 ServletContext?

sap - 具有第三方内容的SAP Portal

java - 如何使用 p :graphicImage with StreamedContent inside ui:repeat/h:dataTable/p:dataTable?

css - 在我的 View XHTML 中包含 CSS

javascript - 从 JavaScript + JSF 调用 Backing bean 方法

java - 无需 portlet 的 liferay 登录

java - 使用 JAX-RS 和 Liferay (Apache CXF) 实现 PATCH 端点

gwt - 如何从 portlet 访问 liferay 菜单