在JSP/Struts1安装中有没有更简单的方法来完成这项工作?干净的方式来有条件地呈现HTML视图?
...这里的一些HTML ...
编辑:在管理员模式下,我想有从表单元素,例如 获得额外的参数从表单元素:
input type="text" value="Test user" name="Owner"
编辑2:其实,我的问题是非常相似,被问的问题:Conditionally Render In JSP By User
但我真的不从一开始的“伪代码”可能的答案
在JSP/Struts1安装中有没有更简单的方法来完成这项工作?干净的方式来有条件地呈现HTML视图?
...这里的一些HTML ...
编辑:在管理员模式下,我想有从表单元素,例如 获得额外的参数从表单元素:
input type="text" value="Test user" name="Owner"
编辑2:其实,我的问题是非常相似,被问的问题:Conditionally Render In JSP By User
但我真的不从一开始的“伪代码”可能的答案
是SessionConfig
在JSP中作为bean公开(作为request/session/Struts Form的一部分)?如果不是,您可以将其公开。如果它是一个包含全局设置的静态类(根据它的外观,这是一种可能性),您可以创建一个小包装器并将其放入servlet上下文中,然后您可以从Struts标记中访问该包装器,如scope="application"
。 一旦这样做了,你可以通过Struts标签检查条件:
<logic:equal name="sessionConfig" property="adminMode" value="true">
... your HTML here
</logic:equal>
或者,如果你使用的EL/JSTL,同样可以通过<core:if>
来完成。
没有更多的信息,很难回答这个问题,但我认为,而不是单独的意见:一个用于管理模式,一个用于正常模式。将页面的各个部分提取为瓦片可以帮助您轻松完成此操作。请参见:http://tiles.apache.org/
目前,而非sessionConfig是使用MyFormIncludingConfigParameters 在DYNAFORM我也有一个属性adminMode 它的工作原理,但其中的概念仍然有点浑浊(什么范围=“应用程序”的意思,我怎么coud触发非-DynaForm类) – poseid 2009-09-21 13:51:00
scope =“application”意味着Struts将在ServletContext中查找一个bean。这是J2EE规范的一部分,您可以在Sun的教程中阅读它。对于非DynaForm类,它必须在struts config中定义为form(它将自动绑定到请求或会话,如指定的那样),或者您必须手动绑定它以在您的操作中请求;你可以使用上面的代码替换'sessionConfig'和你绑定它的属性名称。 – ChssPly76 2009-09-21 16:13:08