首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何设置托管bean以使用Notes文档

如何设置托管bean以使用Notes文档
EN

Stack Overflow用户
提问于 2013-06-09 22:45:54
回答 2查看 2.6K关注 0票数 5

我想在Notes视图中设置一个管理Notes文档的受管bean,我在其中存储应用程序首选项(例如,服务器上存储附件的路径、应用程序标题、要显示的徽标等)。谁有这样的bean的示例以及我应该如何使用它?

目前,我加载了一个SSJS库,并将所有内容都放在应用程序作用域或会话作用域变量中。

EN

回答 2

Stack Overflow用户

发布于 2013-06-10 00:28:03

下面是这样一个托管bean的简单示例。

首先创建一个Java类。我把它叫做"Config“。它读取视图"Config“中的第一个文档,并在实例化时(=first call)将项目放入java字段中。这样做,您可以在读取所有项之后回收domino对象,然后将值保存在内存中。

代码语言:javascript
运行
复制
package de.leonso;
import java.io.Serializable;
import lotus.domino.Database;
import lotus.domino.Document;
import lotus.domino.View;
import com.ibm.xsp.extlib.util.ExtLibUtil;

public class Config implements Serializable {
    private static final long serialVersionUID = 1L;    
    private String applicationTitle;
    // ... other private fields

    public Config() throws NotesException {
        Database db = ExtLibUtil.getCurrentSession().getCurrentDatabase();
        View view = db.getView("Config");
        Document doc = view.getFirstDocument();
        applicationTitle = doc.getItemValueString("ApplicationTitle");
        // ... read all other items and store them in private fields
        doc.recycle();
        view.recycle();
        db.recycle();
    }

    public String getApplicationTitle() {
        return applicationTitle;
    }

    // ... getters for other private fields

}

接下来,在faces-config.xml文件中将此Java类定义为托管bean:

代码语言:javascript
运行
复制
<faces-config>
  <managed-bean>
    <managed-bean-name>config</managed-bean-name>
    <managed-bean-class>de.leonso.Config</managed-bean-class>
    <managed-bean-scope>application</managed-bean-scope>
  </managed-bean>
</faces-config>

您可以使用作用域"application“(每个服务器的实例)或"session”(每个用户的实例)。

然后,您可以在JavaScript中使用配置bean:

代码语言:javascript
运行
复制
#{javascript:var titel = config.applicationTitle; ...}

或表达式语言:

代码语言:javascript
运行
复制
#{config.applicationTitle}

这将为您开发配置bean的高级版本提供一个很好的起点。

票数 13
EN

Stack Overflow用户

发布于 2013-06-10 18:48:11

应用程序范围的bean绝对是实现这一点的好方法。一旦你熟悉了Java,你可能会考虑使用VariableResolver,或者甚至OSGi插件,如果其中一些选项是服务器范围的。我还发布了一个用于从xsp.properties检索值的XSnippet,它可能也适用于某些设置http://openntf.org/s/retrieve-property-from-xsp.properties-in-nsf-server-or-notes.ini

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17010788

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档