自定义标签的自定义方法

 判断这个值是不是你输入的内容或者一个输入的范围,我判断一个简单的值是不是它

注意:首先基于 ssm框架的   在web.xml   我的请求是以‘/’

<servlet-mapping>
<servlet-name>spring_mvc</servlet-name>
<url-pattern>/</url-pattern>

</servlet-mapping>

如果你是以/* 或者 *.do  那么你需要修改controller  中的请求的url 

1.先准备一个jsp页面名称为index.jsp

在body中写一个简单的form表单为:

<form action="bv/req" method="post">
<input type="text" name="testtld" value="456">
<input type="submit" value="提交">
</form>

注意这里的name属性为testtld  对应的value值 我已写死了值为456  那么将来后台代码 判断的时候就要写死了 不过可能也有这样的需求,莫要着急 跟着我的一定能够实现,并且我会给出 细节的部分


2.在controller中如下代码:

创建一个名称为BooleanValue.java

import javax.servlet.http.HttpSession;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
@RequestMapping("bv")
public class BooleanValue {


/**
* 先到index页面
* @return
*/
@RequestMapping("toIndex")
public String toIndex(){
return "index";
}
/**
* 获取index页面中的name属性值,再把值存入session
* @param testtld
* @param session
* @return
*/
@RequestMapping("req")
public String  req(String testtld,HttpSession session){
session.setAttribute("testtld", testtld);
return "test";
}

}

3.你需要在web-inf 下创建一个名称为value.tld  代码如下:

<taglib xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
version="2.0">

<tlib-version>1.0</tlib-version>
<short-name>isnull</short-name><!-- 定义标签使用的短名称 -->
 
<!-- 自定义标签的形参都是域里面传递的参数值;自定义标签基本使用在jsp页面上 -->
<function>
   <description>判断传递内容是否为空</description><!-- 对该标签的说明 -->
   <name>isValue</name><!-- 定义标签名,放在短标签之后  -->
   <function-class>com.accp.tag.Tld</function-class><!-- 标签处理域值的类路径 这里写你自己的 -->

   <function-signature>boolean isValue(java.lang.String)</function-signature><!-- 标签处理域值的具体的类方法 -->
   <example>${isnull:isValue(name)}</example><!-- 自定义标签的使用示范 ,域参数会自动传递到具体的方法里面-->
</function>

</taglib>

4.创建一个test.jsp页面,首先引入部署3的tld文件

是这样引入的:<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<%@ taglib prefix="isnull" uri="/WEB-INF/value.tld" %> 这里需要注意的是 WEB-INF前面加如上“/”,

value   就是你取的名字 随意。

在body中写个测试代码:

<c:if test="${isnull:isValue(testtld)}">
<p>显示这里的内容,这里的内容显示了 证明了testtld的值一定是456或者 isValue(testtld)方法为true</p>

</c:if>

5.写一个java判断类


public class Tld {
public static boolean isValue(String testtld){
String value = "456";
System.out.println("获取到的域里面的值:"+testtld);
if(testtld!=null && testtld.equals(value)){
return true;
}
return false;
}

}


测试开始如下

      http://localhost/costomLabel2/bv/toIndex   

点击提交

456显示出来了


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值