判断这个值是不是你输入的内容或者一个输入的范围,我判断一个简单的值是不是它
注意:首先基于 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显示出来了