Java 如何在页面配置中创建。Via c:设置?

Java 如何在页面配置中创建。Via c:设置?,java,jsf,seam,facelets,Java,Jsf,Seam,Facelets,我有一个web应用程序,需要能够从JSF页面配置部分。例如,假设我的应用程序被分成几个较小的部分,每个部分都有一个文件夹/文件结构,如下所示: /partname /config config.xhtml /template generaltemplate.xhtml search.xhtml results.xhtml Search.xhtml和results.xhtml都使用模板文件generaltemplate.xhtml。

我有一个web应用程序,需要能够从JSF页面配置部分。例如,假设我的应用程序被分成几个较小的部分,每个部分都有一个文件夹/文件结构,如下所示:

/partname
    /config
        config.xhtml
    /template
        generaltemplate.xhtml
    search.xhtml
    results.xhtml
Search.xhtml和results.xhtml都使用模板文件generaltemplate.xhtml。此generaltemplate具有包含config.xhtml内容的。计划是将所有共享配置放入此页面,以便应用程序可以访问它。但我做这件事有困难

如果我在config.xhtml中创建变量,那么它们似乎只能从该配置页面访问。以前,我会根据请求更改范围,这样就可以解决任何问题。但是由于JSF以不同的方式工作,我知道在这种情况下作用域是无用的

有人对我如何在这一页中创建所有配置,然后在整个应用程序中访问它有什么建议吗


此应用程序是使用Seam编写的,因此可以选择使用Seam中的内容。

Seam是一个模型视图控制器(MVC)框架。该视图是使用JSF页面实现的。配置是模型的一部分,不应放在页面中


为了实现适当的分层,我建议您将配置放在某种全局可访问的bean中(由Seam实例化,可能是从.properties文件填充的)您可以在JSF页面中引用它。

我不知道需要多少重构,但是您可以创建一个范围适当的配置bean,然后使用c:set标记来设置配置bean。然后,在稍后的页面中,您可以使用配置bean,而不是直接访问变量。

假设您可以使用facelets,对于c:set问题:

在模板中:

...
<html ...
    xmlns:ui="http://java.sun.com/jsf/facelets"
...
<body>
    <ui:param name="testParam" value="Test" />

    <ui:insert name="test">
    </ui:insert>
...
...
<html ...
    xmlns:ui="http://java.sun.com/jsf/facelets"
...
<body>
<ui:composition template="/WEB-INF/templates/template.xhtml">
    <ui:define name="test">
<h:outputText value="#{testParam}" />
...
。。。

我知道这不是MVC模式的工作方式,我把配置放错地方了。但不幸的是,我的手被这一点束缚住了,我只是在寻找最简单的方法来做我需要做的事情。