input 和fmt该怎么写

soundtbugle 2009-12-29 10:45:38
我把一个对象实例(A)放到request作用域内.它有一个属性是sdate(java.util.Date)
在jsp中我想把它格式成yyyy-MM-dd的形式在input中显示.如下代码:
<input type="text" name="sdate" value="<fmt:formatDate value='${a.sdate }' pattern='yyyy-MM-dd'/>"/>

抛异常:
According to TLD or attribute directive in tag file, attribute value does not accept any expressions

web.xml的xsd
<web-app id="WebApp_ID" version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

jsp的fmt
<%@ taglib prefix="fmt" uri="/WEB-INF/fmt.tld"%>

...全文
192 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
dngoryaner 2010-03-31
  • 打赏
  • 举报
回复
学习学习学习学习学习学习
街头小贩 2010-01-06
  • 打赏
  • 举报
回复
try:

<%@ page language="java" contentType="text/html; charset=GBK"
pageEncoding="GBK"%>
<%@page import="java.util.Date" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK" />
<title>angle project</title>
</head>
<body>
<c:set var="nowdate" value="<%=new Date() %>" scope="request"></c:set>
<fmt:formatDate value='${nowdate }' pattern='yyyy-MM-dd'/>
<input type="text" name="start" id="start" size="20" value="<fmt:formatDate value='${nowdate }' pattern='yyyy-MM-dd'/>"/>
</body>
</html>

道光2008 2009-12-29
  • 打赏
  • 举报
回复
改为:<input type="text" name="start" size="20" value=<fmt:formatDate pattern=“yyyy-MM-dd” value=“${protocol.start}” /> />
soundtbugle 2009-12-29
  • 打赏
  • 举报
回复
指的是这行:
<input type="text" name="start" size="20" value="<fmt:formatDate pattern='yyyy-MM-dd' value='${protocol.start}' />" />
soundtbugle 2009-12-29
  • 打赏
  • 举报
回复
控制台打印的:

严重: Servlet.service() for servlet action threw exception
org.apache.jasper.JasperException: /client/client_protocol.jsp(58,70) According to TLD or attribute directive in tag file, attribute value does not accept any expressions
at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:148)
at org.apache.jasper.compiler.Validator$ValidateVisitor.checkXmlAttributes(Validator.java:1174)
at org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:821)
at org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1530)
at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2361)
at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2411)
at org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:840)
at org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1530)
at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2361)
at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2411)
at org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2417)
at org.apache.jasper.compiler.Node$Root.accept(Node.java:495)
at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2361)
at org.apache.jasper.compiler.Validator.validateExDirectives(Validator.java:1736)
at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:183)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:332)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:312)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:299)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:586)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1085)
at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:398)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:241)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1085)
at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:398)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:241)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at cn.ytdongli.util.AccountCheckOnlineFilter.doFilter(AccountCheckOnlineFilter.java:34)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at cn.ytdongli.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:31)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
at java.lang.Thread.run(Unknown Source)


soundtbugle 2009-12-29
  • 打赏
  • 举报
回复
还是抛异常!
nickycheng 2009-12-29
  • 打赏
  • 举报
回复
<%@ taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt" %>
换这个试试
xinji84 2009-12-29
  • 打赏
  • 举报
回复
我不会用这些东西,嘿嘿,只会用freemarker,啥都不用管
darxin 2009-12-29
  • 打赏
  • 举报
回复
楼主使用的是fmt-1_0.tld,1.0fmt标签库会引发楼主遇到的异常。
<%@ taglib prefix="fmt" uri="/WEB-INF/fmt.tld"%>
请检查/WEB-INF/fmt.tld的版本号是1.1以上而不是1.0
查看你使用的1.1版JSTL实现(standard.jar)或1.2版JSTL实现(jstl-impl-1.2.jar)的META-INF目录
将fmt.tld(1.1版)放到/WEB-INF目录下。

另外,最新的JSTL API及实现可以到下面的网页上下载,建议使用JSTL 1.2版。
https://jstl.dev.java.net/download.html
cat_cook 2009-12-29
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 warison2008 的回复:]
改为: <input type="text" name="start" size="20" value= <fmt:formatDate pattern=“yyyy-MM-dd” value=“${protocol.start}” /> />
[/Quote]

<input type="text" name="start" size="20" value=" <fmt:formatDate pattern=“yyyy-MM-dd” value=“${protocol.start}” />" />
DarkSilence 2009-12-29
  • 打赏
  • 举报
回复
对象是否实现了getSdate方法?
子龙奶爸 2009-12-29
  • 打赏
  • 举报
回复
UP
soundtbugle 2009-12-29
  • 打赏
  • 举报
回复
还是有异常

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧