如何在Java中设置viewScope变量
在我的XPages应用程序中,我希望在java的后端执行计算时掌握XPages的风格 我希望通过设置viewScope变量来计算某些控件的渲染属性来控制行为 有人能指导我如何做到这一点吗?谷歌到目前为止还不是我的朋友…试试看如何在Java中设置viewScope变量,java,xpages,Java,Xpages,在我的XPages应用程序中,我希望在java的后端执行计算时掌握XPages的风格 我希望通过设置viewScope变量来计算某些控件的渲染属性来控制行为 有人能指导我如何做到这一点吗?谷歌到目前为止还不是我的朋友…试试看 ExtLibUtil.getViewScope().put("variableKey", "variableValue"); 试一试 为什么不只是管理bean属性呢?在我的应用程序中,我几乎不再使用作用域变量了。为什么不只是管理bean属性呢?在我的应用程序中,我几乎不再
ExtLibUtil.getViewScope().put("variableKey", "variableValue");
试一试
为什么不只是管理bean属性呢?在我的应用程序中,我几乎不再使用作用域变量了。为什么不只是管理bean属性呢?在我的应用程序中,我几乎不再使用范围变量了。Malin 我建议您按照Howard的建议使用托管bean。在XPages中使用Java非常方便 1。创建一个bean 它只是一个普通的Javabean,具有一个没有参数的构造函数。例如:
public class ExporterBean implements Serializable {
private static final long serialVersionUID = 1L;
private int numberOfDocs = 1L;
public ExporterBean() {
System.out.println("Instantiating ExporterBean");
}
public int getNumberOfDocs() {
return numberOfDocs;
}
public void setNumberOfDocs(int numberOfDocs) {
this.numberOfDocs = numberOfDocs;
}
}
请注意,您应该为所有bean实现Serializable。查看范围将强制您这样做,但其他的则不会(但它可能会在以后影响您,具体取决于您是将bean保存在内存中还是将其序列化到磁盘)
2。将其定义为托管bean
您可以在Domino Designer导航中应用程序配置下的文件faces-config.xml中执行此操作。您需要添加以下内容:
<managed-bean>
<managed-bean-name>Exporter</managed-bean-name>
<managed-bean-class>dk.myapp.bean.ExporterBean</managed-bean-class>
<managed-bean-scope>view</managed-bean-scope>
</managed-bean>
出口商
dk.myapp.bean.ExporterBean
看法
范围可以是:请求,查看,会话,或应用程序。完成此操作后,您可以使用在faces-config.xml中指定的名称直接在XPage中引用bean
在我的例子中,可能是:
<xp:text escape="false" value="#{Exporter.numberOfDocs}"/>
希望这有帮助
/约翰马林
我建议您按照Howard的建议使用托管bean。在XPages中使用Java非常方便
1。创建一个bean
它只是一个普通的Javabean,具有一个没有参数的构造函数。例如:
public class ExporterBean implements Serializable {
private static final long serialVersionUID = 1L;
private int numberOfDocs = 1L;
public ExporterBean() {
System.out.println("Instantiating ExporterBean");
}
public int getNumberOfDocs() {
return numberOfDocs;
}
public void setNumberOfDocs(int numberOfDocs) {
this.numberOfDocs = numberOfDocs;
}
}
请注意,您应该为所有bean实现Serializable。查看范围将强制您这样做,但其他的则不会(但它可能会在以后影响您,具体取决于您是将bean保存在内存中还是将其序列化到磁盘)
2。将其定义为托管bean
您可以在Domino Designer导航中应用程序配置下的文件faces-config.xml中执行此操作。您需要添加以下内容:
<managed-bean>
<managed-bean-name>Exporter</managed-bean-name>
<managed-bean-class>dk.myapp.bean.ExporterBean</managed-bean-class>
<managed-bean-scope>view</managed-bean-scope>
</managed-bean>
出口商
dk.myapp.bean.ExporterBean
看法
范围可以是:请求,查看,会话,或应用程序。完成此操作后,您可以使用在faces-config.xml中指定的名称直接在XPage中引用bean
在我的例子中,可能是:
<xp:text escape="false" value="#{Exporter.numberOfDocs}"/>
希望这有帮助
/John@Malin,还有ExtLibUtil.getRequestScope()、ExtLibUtil.getSessionScope()和ExtLibUtil.getApplicationScope(),还有
ExtLibUtil.resolveVariable()
。自FP8以来,它包括Jesse的Gallagher的pull请求,允许您在需要将FacesContext.getCurrentInstance()
作为第二个参数传递之前,只传递变量名(例如ExtLibUtil.resolveVariable(“requestScope”)
)。当包含OpenNTF Domino API时,它会变得非常强大,作用域包括serverScope、userScope和identityScope(请参阅“XPages Variables”子页)@Malin,还有ExtLibUtil.getRequestScope()、ExtLibUtil.getSessionScope()和ExtLibUtil.getApplicationScope(),还有ExtLibUtil.resolvable()
。自FP8以来,它包括Jesse的Gallagher的pull请求,允许您在需要将FacesContext.getCurrentInstance()
作为第二个参数传递之前,只传递变量名(例如ExtLibUtil.resolveVariable(“requestScope”)
)。当包含OpenNTF Domino API时,这将变得非常强大,其作用域包括serverScope、userScope和identityScope(请参阅“XPages Variables”子页)。我也是这样做的…;-)我也是这样做的…;-)