首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JSTL/JSP动态表单页面状态

JSTL/JSP动态表单页面状态
EN

Stack Overflow用户
提问于 2011-01-24 20:09:56
回答 1查看 1.2K关注 0票数 1

在开发一个大型Web应用程序时,我有大量的JSP。每个JSP包括(仅)一组内部标记,例如:

代码语言:javascript
复制
<AAA:INPUT value="bbb" state="<%=getPageState()"/>

此标记根据getPageState()的返回值呈现到具有只读/启用状态的HTML输入字段中。

这基本上允许我从单个入口点将整个页面设置为启用/禁用。

我不喜欢这样(主要是因为它驱使我不去写我想要的超文本标记语言,而且我需要维护我想要的每个超文本标记语言属性的属性),我知道我可以用JavaScript在客户端做一些类似的事情。有没有其他方法可以在web服务器端的单点控制整个JSP表单的状态?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-01-25 09:08:02

我的方法是将getPageState()方法转换为标记,然后在自定义标记中使用此标记。这样,您就不需要在每次调用自定义标记时都显式地传入页面状态。

当然,这意味着您必须修改所有自定义标记才能使用这个新标记,但我认为这比让您的代码中到处都是显式调用来获取页面状态要好。更不用说,如果开发人员忘记检查页面状态,就会出现不一致的情况。

此外,现在决定如何呈现元素取决于自定义标记本身(它所属的位置)。

我看到的唯一问题是,现在您必须对每个元素进行多次(冗余)调用才能获得页面状态,这并不是很有效。要解决这个问题,您可以让您的自定义标记(获取页面状态)设置一个页面属性,并让您的自定义标记检查此页面属性,以决定是否应该禁用表单元素(另一种方法是使用作用域AT_END创建一个变量)。

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

https://stackoverflow.com/questions/4781787

复制
相关文章

相似问题

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