![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
自定义标签,在jsp中获得标签处理类中值,用foreach循环输出list
用自定义标签,最后的效果是在页面上显示1到10,但在jsp中不能出现JAVA代码,而是用标签调用,并用foreach循环输出,采用EL表达式,希望大神能给出标签处理类和j...
用自定义标签,最后的效果是在页面上显示1到10,但在jsp中不能出现JAVA代码,而是用标签调用,并用foreach循环输出,采用EL表达式,希望大神能给出标签处理类和jsp的代码,小弟初学,请详细说明啊,谢谢了
展开
4个回答
展开全部
还是我说清楚些吧,对于初学者来说,这样更好学习,如果你自己去摸索的话肯定记忆更深刻些,但现在你可以省很多时间了……JSTL
一、页面配置如下
1、
对应tld文件配置文件里面的
2、标签的使用如
这里面的searchText以及num、url等属性在tld文件里面定义,对应的java文件中要有该变量
二、tld配置文件
这个自己上百度找个看看吧,都一样的。想说的一点是,一个<tag>标签只能对应一个public的CLASS类,我想过在同一个JAVA文件中多加几个CLASS,但不起作用。
三、java文件
简单就如这样子
其中你要在页面中用到的属性,你就在类里面定义和在tld文件里面做对应的配置就可以使用了,就这样了,祝你学习愉快……
http://www.cnblogs.com/edwardlauxh/archive/2010/05/19/1918590.html这个一个对你有用
2016-03-11 · 百度知道合伙人官方认证企业
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
关注
![](https://wyw-base.cdn.bcebos.com/pc-content/follow.gif)
展开全部
1、jsp中自定义标签类:
package com.tutorialspoint;
import javax.servlet.jsp.tagext.*;
import javax.servlet.jsp.*;
import java.io.*;
public class HelloTag extends SimpleTagSupport {
public void doTag() throws JspException, IOException {
JspWriter out = getJspContext().getOut();
out.println("Hello Custom Tag!");
}
}
2、编译以上类,并将其复制到环境变量CLASSPATH目录中。最后创建如下标签库:<Tomcat安装目录>webapps\ROOT\WEB-INF\custom.tld。
<taglib>
<tlib-version>1.0</tlib-version>
<jsp-version>2.0</jsp-version>
<short-name>Example TLD</short-name>
<tag>
<name>Hello</name>
<tag-class>com.tutorialspoint.HelloTag</tag-class>
<body-content>empty</body-content>
</tag>
</taglib>
3、可以在JSP文件中使用Hello标签:
<%@ taglib prefix="ex" uri="WEB-INF/custom.tld"%>
<html>
<head>
<title>A sample custom tag</title>
</head>
<body>
<ex:Hello/>
</body>
</html>
以上程序输出结果为:
Hello Custom Tag!
package com.tutorialspoint;
import javax.servlet.jsp.tagext.*;
import javax.servlet.jsp.*;
import java.io.*;
public class HelloTag extends SimpleTagSupport {
public void doTag() throws JspException, IOException {
JspWriter out = getJspContext().getOut();
out.println("Hello Custom Tag!");
}
}
2、编译以上类,并将其复制到环境变量CLASSPATH目录中。最后创建如下标签库:<Tomcat安装目录>webapps\ROOT\WEB-INF\custom.tld。
<taglib>
<tlib-version>1.0</tlib-version>
<jsp-version>2.0</jsp-version>
<short-name>Example TLD</short-name>
<tag>
<name>Hello</name>
<tag-class>com.tutorialspoint.HelloTag</tag-class>
<body-content>empty</body-content>
</tag>
</taglib>
3、可以在JSP文件中使用Hello标签:
<%@ taglib prefix="ex" uri="WEB-INF/custom.tld"%>
<html>
<head>
<title>A sample custom tag</title>
</head>
<body>
<ex:Hello/>
</body>
</html>
以上程序输出结果为:
Hello Custom Tag!
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
下面举个例子:${projectTypes}为LIST<DICT> 对象,前台JSP显示为下拉列表。
<select id="project_projectType" name="projectType">
<c:forEach items="${projectTypes}" var="dict">
<c:choose>
<c:when test="${dict.code eq project.projectType}">
<option selected="selected" value="${dict.code}" >${dict.label}</option>
</c:when>
<c:otherwise>
<option value="${dict.code}" >${dict.label}</option>
</c:otherwise>
</c:choose>
</c:forEach>
</select>
<select id="project_projectType" name="projectType">
<c:forEach items="${projectTypes}" var="dict">
<c:choose>
<c:when test="${dict.code eq project.projectType}">
<option selected="selected" value="${dict.code}" >${dict.label}</option>
</c:when>
<c:otherwise>
<option value="${dict.code}" >${dict.label}</option>
</c:otherwise>
</c:choose>
</c:forEach>
</select>
追问
那标签处理类中的代码怎么写?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你是想要在页面用jstl遍历的效果还是想要一个自己用java代码写的标签?
追问
自己用java代码写的标签,最后在页面上循环显示1到10就行了,但jsp中不能有java代码
追答
那简单了...
在你的后台封装一个List集合存放1-10,然后通过任意一种范围例如request.setAttribute("list",list);把这个集合放到map里.
在jsp页面上方加入就可以使用jstl标签了.
在页面上直接写
${obj}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询