他の誰かが書いたjsfアプリケーションで作業していると、非常に基本的なものが欠けているに違いありません。私はそれをこれに落としましたが、これは機能していません:
page.jsp
:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<!doctype html>
<html>
<body>
<f:view>
<h:messages id="error" globalOnly="true"/>
<h:outputText value="#{testBean.msg}"/>
</f:view>
</body>
</html>
testBean.java
:
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
public class testBean {
public String getMsg() {
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "getMsg"), null));
return "getMsg";
}
}
このコードは、 で生成されたエラー メッセージを表示しませんtestBean#getMsg
。<h:messages>
行の後に toを移動すると<h:outputText>
、メッセージが表示されます。何故ですか?これは機能するはずですか?