有人能帮忙解决以下问题吗。
我试图理解在jsp文件中的c:foreach元素中使用变量标记,所以我使用了下面的示例代码,但不知怎么的,这对我来说并不适用。
我已经把index1.jsp在WebContent文件夹中,并在Java资源/src/com/java2s文件夹中xport.java空标签;dis.tld在WebContent/WEB-INF/tld文件夹中。运行时,我得到错误:
SEVERE: Servlet.service() for servlet [jsp] in context with path [/jstl4] threw exception [/index1.jsp (line: [16], column: [6]) According to TLD or attribute directive in tag file, attribute [items] does not accept any expressions] with root cause
org.apache.jasper.JasperException: /index1.jsp (line: [16], column: [6]) According to TLD or attribute directive in tag file, attribute [items] does not accept any expressions
index1.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
// start comcat and load the following jsp page in browser
<%@ taglib uri="http://www.sample.com/dist" prefix="java2s" %>
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
<html>
<head>
<title>A custom tag: scripting variable</title>
</head>
<body>
output:
<java2s:defineObjects howMany="5" name="numbers" />
<ul>
<c:forEach items="${numbers}" var="currentNumber">
<li>
<c:out value="${currentNumber}" />
</li>
</c:forEach>
</ul>
</body>
</html>
清空带有属性导出的标签。Java语言
package com.java2s;
import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.*;
public class EmptyTagWithAttrsExport extends TagSupport {
/**
*
*/
private static final long serialVersionUID = -5986013033799724428L;
// Code to implement the "howMany" attribute
private int howMany;
public int getHowMany()
{
return howMany;
}
public void setHowMany(int i)
{
howMany = i;
}
// Code to implement the "name" attribute
private String exportedArrayName;
public String getName()
{
return exportedArrayName;
}
public void setName(String s)
{
exportedArrayName = s;
}
public int doStartTag() throws JspException
{
int[] outputArray = new int[howMany];
System.out.println("Generating " + howMany + " numbers");
for ( int i=0; i<howMany; i++ )
{
outputArray[i] = (int) (Math.random() * 10);
} // end of for ()
pageContext.setAttribute(exportedArrayName, outputArray);
return SKIP_BODY;
}
/* public int doEndTag() throws JspException
{
return super.doEndTag();
}*/
}
数字化信息系统。tld
<?xml version="1.0" encoding="ISO-8859-1" ?>
<taglib version="2.0"
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">
<tlib-version>1.2</tlib-version>
<short-name>dist</short-name>
<uri>http://www.sample.com/dist</uri>
<!-- this tag lists random numbers; the HTML is hard-coded within
the tag handler
-->
<!-- this tag exports random numbers in a named array -->
<tag>
<name>defineObjects</name>
<tag-class>com.java2s.EmptyTagWithAttrsExport</tag-class>
<body-content>empty</body-content>
<variable>
<name-from-attribute>name</name-from-attribute>
<variable-class>int []</variable-class>
<declare>true</declare>
<scope>AT_END</scope>
</variable>
<attribute>
<name>howMany</name>
</attribute>
<attribute>
<name>name</name>
</attribute>
</tag>
</taglib>
jstl核心库路径是错误的,在使用下面的方法后,它运行良好
我有以下索引页面: 还有家。jsp: 我收到了这个错误 根据标记文件中的TLD或属性指令,属性动词不接受任何表达式 有人能帮忙吗?
我一直在谷歌上搜索答案,但它不起作用。 我收到这个错误: org.apache.jasper.JasperException: /WEB-INF/pages/calendarEntry.jsp(行:5,列:46)根据标记文件中的TLD或属性指令,属性var不接受任何表达式 这是我的jsp文件 错误发生在最后一行。fmt公司 Web应用声明 Maven从属关系 部署环境-Tomcat 8
问题内容: 我有一个项目,需要在HTML页面中显示电影的详细信息。尽管我没有使用像Spring或Struts这样的框架,但我必须严格遵循MVC。我也不允许使用scriptlet,但要使用JSTL和表达语言。我通常从数据库中检索数据,然后将其设置为Bean,然后列出这些Bean并将其传递给JSP,然后打印这些详细信息。但是,如果不允许我使用JSP,我将如何实现它。如果我使用servlet检索那些数据
我用JSP编写了以下代码。 它显示错误:根据标记文件中的TLD或属性指令,属性名称不接受任何表达式 我应该怎么写,请给我一些建议。
问题内容: 在我的应用程序上下文中,我定义了属性文件: 我想获取JSP页面上该文件中定义的属性的值。有没有办法做到这一点 问题答案: 只能解析Spring配置中的占位符(XML或注释)。在Spring应用程序中使用bean 是非常普遍的。您可以通过这种方式从视图中访问它(假设您正在使用): 然后,在您的JSP中,您可以使用或。
我在tomcat中部署了一个阔叶应用程序,但在运行页面时,根据TLD,我得到的属性类对于标记形式无效。不过,当我在jetty中部署应用程序时,它运行良好。此外,当我部署应用程序时,我会收到以下警告:- 信息:TLD已跳过。URI:http://www.springframework.org/tags/form已定义信息:TLD已跳过。URI:http://www.springframework.o