我在Glassfish上使用Java EE作为企业应用程序。
我在WEB-INF中有一些xhtml文件,以防止直接访问URL,我可以使用servlet访问。当用户按下按钮时,我需要调用托管bean的方法。
我使用的xhtml代码是:
<h:form><p:commandButton action="#{managedBean.testFunction()}" value="Test function" type="submit" ajax="false" styleClass="block" /></h:form>
问题是h:form的输入似乎将我重定向到我的xhtml文件的实际路径,例如:
我的servlet映射到:
/ ServlerDispatcher / DispatcherServlet的
使用:
request.getRequestDispatcher("/WEB-INF/HiddenFiles/fileA.xhtml").forward(request, response);
在WEB-INF文件夹中显示xhtml文件,其中包含我上面提到的表单。提交表单,按下按钮会将我重定向到此URL:
/ServlerDispatcher/WEB-INF/HiddenFiles/fileA.xhtml``
由于它在WEB-INF文件夹中无法显示,因此无法直接访问URL。
正如我所说,当用户按下按钮时,我真正需要的是执行托管bean方法。我怎么能这样做?
感谢您的关注