当前位置:  开发笔记 > 后端 > 正文

Spring MVC标记与自定义标记的交互

如何解决《SpringMVC标记与自定义标记的交互》经验,为你挑选了1个好方法。

我有一个JSP使用Spring:form标签将控件绑定到命令对象.

我想修改它如下:如果[某些条件为真]比显示控件; 否则,只显示文字.(例如:如果用户是管理员,则显示控件,否则只显示文本.如果whatsit仍然打开进行修改,则显示控件,否则显示文本.)

换句话说,我想要这个:


     
          
     
     
          

${SOME PATH}

但我想要一个简单的方法为每个领域创建这个(有很多).

如果我创建一个自定义标签来生成上面的文本(给定"SOME PATH"),Spring自定义标签会被绑定吗?

我想我真正要问的是:我可以创建自定义标签,生成Spring自定义标签然后绑定吗?或者同时处理所有自定义标签(我的和Spring)?



1> Jacob Mattis..:

通常唯一的解决方案是尝试它.

我尝试了三种不同的方式 - JSP自定义标记库,参数化JSP包含和JSP2标记文件.

前两个不起作用(虽然我怀疑标签库可以工作),但标签文件确实有效!该解决方案基于Expert Spring MVC和Web Flow中给出的示例.

这是我在WEB-INF/tags/renderConditionalControl.tag中的代码:

<%@ tag body-content="tagdependent" isELIgnored="false" %>
<%@ attribute name="readOnly" required="true" %>
<%@ attribute name="path" required="true" %>
<%@ attribute name="type" required="false" %>
<%@ attribute name="className" required="true" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="form" uri="/WEB-INF/spring-form.tld" %>
<%@ taglib prefix="spring" uri="/WEB-INF/spring.tld" %>






    
        
            ${status.value}
        
        
           
        
    

这是jsp中的代码:

首先,使用其他taglibs指令:

<%@ taglib tagdir="/WEB-INF/tags" prefix="tag" %> 

并在表格内:


推荐阅读
Chloemw
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有