当前位置: 首页 > 知识库问答 >
问题:

使用标记通过使用标记在jsp中设置var

郜联
2023-03-14

在我的Struts 1应用程序中的jsp中,我试图使用c: set标签从显示表中的列表中设置变量。

表中的每一行都有一个值(100或200),用于区分是哪个用户添加了条目。我只想为某个用户显示编辑/删除(100)。

我正在尝试设置该值并将其与100进行比较,以确定哪些行应具有编辑/删除权限。

我遇到的问题是rowUser没有从我的列表中分配值。

我知道列表中有值,因为表正在显示,但它们显示的所有行都不等于100。

到目前为止,我有:

<c:set var="rUser"><c:out value="${myList.rowUser}" /></c:set>
<c:choose>
<c:when test="${rUser == 100}">
<display:column  property="startDate" title="Start Date" width="18%" decorator="com.mhngs.util.DisplayTagDateWrapper" sortable="true" headerClass="sortable"/>
<display:column  property="endDate" title="End Date" width="18%" decorator="com.mhngs.util.DisplayTagDateWrapper" sortable="true" headerClass="sortable" />
<display:column  property="reason" title="Comments" width="17%" sortable="true" headerClass="sortable" />
<display:column media="html" width="17%"><a href="#" onClick="javascript:editEntry('<c:out value="${myList.Id}"/>')">Edit</a></display:column>  
<display:column media="html" width="15%"><a href="#" onClick="javascript:deleteEntry('<c:out value="${myList.Id}"/>')">Delete</a></display:column>
</c:when>

<c:otherwise>
<display:column  property="startDate" title="Start Date" width="18%" decorator="com.mhngs.util.DisplayTagDateWrapper" sortable="true" headerClass="sortable"/>
<display:column  property="endDate" title="End Date" width="18%" decorator="com.mhngs.util.DisplayTagDateWrapper" sortable="true" headerClass="sortable" />
<display:column property="reason" title="Comments" sortable="true"/>
</c:otherwise>
</c:choose>

任何帮助将不胜感激。

共有1个答案

拓拔浩阔
2023-03-14

如果要将myList.rowUser分配给属性rUser,只需使用

<c:set var="rUser" value="${myList.rowUser}"/>

也就是说,为什么要为此使用一个附加属性,而不是直接使用myList呢。rowUser

<c:when test="${myList.rowUser == 100}">

最后,问题是display标记计算要在第一次迭代中显示的列。在接下来的迭代中,它只更改每列中显示的值。当属性为200时,不应显示最后两列,而应显示它们,但保留为空。简而言之,测试应该在display:column标记内部,而不是在以下外部:

<display:column ...> if row = 100, display button </display:column>
 类似资料:
  • 我在R中得到的POS标记文本形式如下: 身份证 ..... 我想检索它已标记的单词,例如,而不是带有所有值的列“type”,因为单词检索实际单词。我可以使用scan_tokenizer,但当有“不是”之类的形式时,问题就出现了,POS标记器将其分为“is”和“not”,这很好,但scan_tokenizer不会这样标记,它只是将其保持在“is't”。有人能帮我检索R已标记并用于POS标记的单词吗?

  • 在我的应用程序中,我从表类读取数据,并在表测试中插入id值。我通常在jsp中使用table和插入链接,但这次我需要通过选项标签和插入按钮显示我的数据插入按钮我有这个错误(抛出异常[java.lang.NumberFormatExc0019:对于输入字符串:""]与根本原因java.lang.NumberFormatExc0019:对于输入字符串:") 我在使用表和链接进行插入时没有问题,所以ser

  • 我想在jsp文档文件中使用类似的内容: 但是,在我看到的所有30个示例中,每个人都使用简单的jsp语法,而不是jsp文档语法。类似于这样: 根本不起作用。页面上看不到驻留在 /WEB-INF/tags中的所有标记文件。只有当我定义一个tld文件并在其中列出所有标记时,才能在页面上访问它们。是否可以避免tld声明并仍然在jsp文档页面中使用标记文件?

  • 大家好,如果有人能帮忙的话——我正在尝试使用Cucumber标签运行一个特定的场景——这是我用来运行用Webdriver-Cucumber框架构建的测试的表达式- npx wdio运行wdio。conf.js——cucumber。tagExpression='@Tag 当我使用上面的命令时,什么也不会发生——我已经在功能级别定义了标记-“@tag”——所以我希望功能文件中的所有场景都会得到执行,但

  • 我正在尝试创建一个安装在sling中的捆绑包,并使用自定义TagLib。我想使用标记文件,而不是使用扩展TagSupport的java类。这样,我可以使用Sling模型来表示JCR,使用JSP标记文件来表示标记。 这是我的标记文件,它是一个非常基本的锚,没有什么特别的,我只是想测试一下: 我创建了一个TLD文件,我在WEB-INF/tags和META-INF/tags文件夹中都尝试了该文件(我去掉

  • 问题内容: 某些框架(Spring,Tomcat本身)添加了默认情况下无法在EL表达式内使用的Servlet请求属性。一个例子是 因此,为了使用JSTL获得价值,我通常会使用 但是,这不起作用,因为EL解析器希望是对象A的键,并且是该对象的属性(依此类推)。 所以我的问题是:如何逃脱点字符? 我试过使用 但这也不起作用,并从EL解析器中引发错误。 我知道在处理地图时,我可以使用类似 但这不能处理请