我有一個非常奇怪的問題,其中一個bean沒有解析但只能提交,它在視圖上工作正常,但在提交時,它錯誤地說該標識符是空的JSF2表單提交「目標無法訪問,標識符'myModel'解析爲空僅在提交時
我的JSF
<h:form id="edit" styleClass="form">
<rich:panel>
<f:facet name="header">
<h:outputText value="Edit Data" />
</f:facet>
<rich:graphValidator value="#{myModel}" id="gv">
<rich:messages for="gv" />
<rich:messages id="goal-messages" globalOnly="true" />
<!-- form fields that reference #{myModel.fields} -->
<h:commandButton id="save" value="Save"
action="#{myModel.save}" />
</rich:graphValidator>
</rich:panel>
</h:form>
Model類
@Named("myModel")
@RequestScoped
public class MyModelImpl implements Model {
@Inject
@RequestParam("objectId")
private Long objectId;
// Getters & Setters for the various fields
public void save() {
// does nothing just now
}
}
我知道我應該移動的保存操作到控制器中,我將我一旦它工作。我有另一個沒有問題的實例(在另一個相關模塊中)。事實上,我複製了代碼,並根據需要進行了修改。
這個模塊的主要區別在於我將它與課程名稱區別開來。
的觀點負載可達確定沒有任何問題,但在提交,我得到如下:
根的例外是:記住
Caused by: javax.el.PropertyNotFoundException: /edit.xhtml @26,71 value="#{myModel.name}": Target Unreachable, identifier 'myModel' resolved to null
at com.sun.faces.facelets.el.TagValueExpression.setValue(TagValueExpression.java:133) [jsf-impl-2.1.7-jbossorg-2.jar:]
at org.richfaces.el.ValueExpressionAnalayserImpl$SetValueCommand.resolve(ValueExpressionAnalayserImpl.java:42) [richfaces-components-ui-4.2.2.Final.jar:4.2.2.Final]
at org.richfaces.el.ValueExpressionAnalayserImpl.resolveValue(ValueExpressionAnalayserImpl.java:64) [richfaces-components-ui-4.2.2.Final.jar:4.2.2.Final]
at org.richfaces.el.ValueExpressionAnalayserImpl.updateValueAndGetPropertyDescriptor(ValueExpressionAnalayserImpl.java:90) [richfaces-components-ui-4.2.2.Final.jar:4.2.2.Final]
at org.richfaces.validator.BeanValidatorServiceImpl.validateExpression(BeanValidatorServiceImpl.java:157) [richfaces-components-ui-4.2.2.Final.jar:4.2.2.Final]
... 41 more
軸承,它的工作原理上瀏覽的頁面,我我真的不知道爲什麼它不適合提交。
我曾嘗試過各種事情,包括:
- 改變範圍@ViewScoped,
- 去除字段的本體顯示(巴一個 - 名稱),
- 傳入requestParam再次(但我意識到,我什至沒有在第一時間拿起它工作正常。
我發現很多不同的人使用同一最終錯誤,但不一樣的情況下, 。
都沒有快樂。任何人有什麼想法可能是什麼問題?
我使用的Arquillian在JBoss 7.1.1.Final
讚賞任何幫助測試。事實證明
[java的EE-6-目標不可達-標識符爲helloBean分辨到零(的可能的複製http://stackoverflow.com/questions/9809511/java-ee-6 -target不可達-標識符爲helloBean分辨到零) – Ravi