在JSP

时间:2015-05-02 20:48:30

标签: jsp el deferred

如果我们这样做:<h:inputText id="name" value="#{customer.name}" />,那么如果我理解正确,inputText可以在客户中为name指定一个值。这个值赋值在代码中是如何形状的:

从我发现的,它转到inputText bean并且有setXXX和getXXX方法,但是bean或上层如何知道从上面的表达式中区分它们中的每一个?

我错过了这两个级别之间的阶段。我阅读了关于EL的Oracle教程,但它没有提到如何为现有表达式赋值。我还阅读了<c:set标记,但我没有看到为表达式赋值的任何地方。

编辑:为了更准确,我对jsf input_text bean如何为#{customer.name}分配值感兴趣。所以我发现它必须做这样的事情以支持延迟表达式:

private javax.el.ValueExpression attributeName = null;

public void setAttributeName(
    javax.el.ValueExpression attributeName)
 {
    this.attributeName = attributeName;
}

现在我的猜测就是有一些听众,就像attributeName.set(somehowGetContext(),whateverTheValueInInputTextBoxWasChangedTo)那样。 有人可以确认并告诉我这是我在开发自己的豆子时应该做的吗?

0 个答案:

没有答案