是否可以将JSF流文件夹放在除应用程序根目录之外的其他位置,如...在WEB-INF文件夹中?或者以某种方式禁止直接访问其中的页面?
答案 0 :(得分:1)
我自己解决了这个问题。
JSF流程定义可以通过两种方式完成:
第一个只能定义一个流名称,其位置默认为根文件夹。
第二个可以定义文件夹结构中更深的位置。
配置文件示例 :testflow.flow.xml
只能将id =“testFlow”添加到定义中,不是路径。默认为第一页的testFlow / testFlow.xhtml。
<?xml version='1.0' encoding='UTF-8'?>
<faces-config version="2.2" xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-facesconfig_2_2.xsd">
<flow-definition id="testFlow">
<flow-return id="returnFromTestFlow">
<from-outcome>#{testFlow.returnValue}</from-outcome>
</flow-return>
</flow-definition>
</faces-config>
配置类示例 :TestFlow.java
将完全限定路径添加到此流程中的视图节点。
public class TestFlow implements Serializable {
private static final long serialVersionUID = 1L;
@Produces
@FlowDefinition
public Flow defineFlow(@FlowBuilderParameter FlowBuilder flowBuilder) {
String flowId = "testFlow";
flowBuilder.id("", flowId);
flowBuilder.viewNode(flowId,
"/other/location/flow/" + flowId + ".xhtml").
markAsStartNode();
flowBuilder.viewNode("testFlow2", "/other/location/flow/testFlow2.xhtml");
flowBuilder.viewNode("testFlow3", "/other/location/flow/testFlow3.xhtml");
...
这就是所有人!
答案 1 :(得分:0)
您始终可以在根文件夹中创建文件夹来存储您的页面。例如,要限制客户端访问,可以将所有与管理员相关的页面放入名为admin
的文件夹中。然后,您可以在登录后使用帐户类型限制用户访问。可以使用Servlet
轻松完成此操作。需要注意的一点是,您不应该将普通页面和模板客户端放在WEB-INF
文件夹中。
有关您的信息: