我试图找到在JSP人们喜欢使用多种不同的标签<% %>,并<%! %>在Java代码添加到页面,但谁能告诉我是什么这两个标记之间的主要区别.
谢谢.
我在日食中的项目 -

我运行MyTagUser.jsp时收到以下错误 - HTTP Status 500 - /jsp/MyTagUser.jsp(14,0) Attribute subTitle invalid for tag Header according to TLD
org.apache.jasper.JasperException: /jsp/MyTagUser.jsp(14,0) Attribute subTitle
invalid for tag Header according to TLD
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)...etc.
Run Code Online (Sandbox Code Playgroud)
来自Header.jsp的片段 -
<body>
<img src="../images/java_logo.gif"><br>
<em><strong> ${subTitle} </strong></em> <br>
</body>
Run Code Online (Sandbox Code Playgroud)
来自MyTagUser.jsp的片段 -
<%@ taglib prefix="myTags" tagdir="/WEB-INF/tags"%>
<html>
<head>
</head>
<body>
<myTags:Header subTitle="Java is the best !!!" />
JSP and Servlets.
</body>
</html>
Run Code Online (Sandbox Code Playgroud) 当我尝试写这样的东西时:<html:text styleId="Istituto" type="number">在 struts1 中,它给了我一个错误
根据 TLD,标签文本的属性类型无效
如何将“类型”属性添加到<html:text>标签?
我遇到了生成的java文件中第384行发生错误方法的代码
_jspService(HttpServletRequest,HttpServletResponse)
超出 65535 字节限制。
我已经在网络上尝试了几种解决方案,但问题仍然存在。
我使用 Jboss-5.1.0 GA 作为服务器。
这是错误的堆栈跟踪。
An error occurred at line: 384 in the generated java file
The code of method _jspService(HttpServletRequest, HttpServletResponse) is exceeding the 65535 bytes limit
Stacktrace:
at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92)
at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
at org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:439)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:335)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:313)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:300)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:585)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:312)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:322)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:249)
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:638)
at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:543)
at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:480)
at com.liferay.portlet.PortletRequestDispatcherImpl.dispatch(PortletRequestDispatcherImpl.java:307)
at com.liferay.portlet.PortletRequestDispatcherImpl.include(PortletRequestDispatcherImpl.java:115)
at com.liferay.portal.struts.PortletRequestProcessor.doInclude(PortletRequestProcessor.java:284)
at com.liferay.portal.struts.PortletRequestProcessor.doForward(PortletRequestProcessor.java:255)
Run Code Online (Sandbox Code Playgroud) 我正在尝试设置一个我将在自定义JSP标记中引用的变量,所以我在JSP中有这样的东西:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:set var="path" value="test"/>
Run Code Online (Sandbox Code Playgroud)
但是,当JSP运行时,我收到此错误:
java.lang.AbstractMethodError: javax.servlet.jsp.PageContext.getELContext()Ljavax/el/ELContext;
at org.apache.taglibs.standard.tag.common.core.SetSupport.doEndTag(SetSupport.java:140)
Run Code Online (Sandbox Code Playgroud)
我正在使用JSTL 1.2运行Tomcat 5.5和Java 1.5.
我在这里做错了吗?
谢谢!
我是前端或UI开发人员,对Java的理解有限.我有一个基于java的Web应用程序,其中使用了JSTL ..我想了解JSTL的确切用法.它是否始终在JSP页面中使用,并且仅用于从数据库中获取数据.能否请您解释一些基本的例子..
我有一个简单的html页面,我将两个值,一个名字(String)和night(int)的数量传递给一个jsp页面.我在那里使用jsp:useBean标签和jsp:setProperty标签.当我<%= myRes.getName() %>用<jsp:getProperty name="myRes" property="name">它替换它时会给出一个很长的异常报告.但是当我重新加载页面两次时,它会提供正确的输出.例外情况报告如下.
org.apache.jasper.JasperException: /hotel_jsp_bean_one.jsp(13,30) According to TLD, tag jsp:getProperty must be empty, but is not
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:41)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:132)
org.apache.jasper.compiler.Parser.parseBody(Parser.java:1631)
org.apache.jasper.compiler.Parser.parseOptionalBody(Parser.java:1002)
org.apache.jasper.compiler.Parser.parseGetProperty(Parser.java:905)
org.apache.jasper.compiler.Parser.parseStandardAction(Parser.java:1132)
org.apache.jasper.compiler.Parser.parseElements(Parser.java:1449)
org.apache.jasper.compiler.Parser.parse(Parser.java:138)
org.apache.jasper.compiler.ParserController.doParse(ParserController.java:239)
org.apache.jasper.compiler.ParserController.parse(ParserController.java:102)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:197)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:372)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:352)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:339)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:594)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:344)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:391)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
我的bean类是:
package hotel;
public class Hotel
{
private String name;
private int nights;
public Hotel()
{
this.name = "<NOT SPECIFIED>";
this.nights = -1;
}
public void setName(String name)
{
this.name …Run Code Online (Sandbox Code Playgroud) 我在JavaScript中构建一些HTML以传递回JSP,我这样做:
var html = "<td id='comment-" + comment.id + "'class='wrappable' style='width:400px;'>"
+ "<pre style='width: auto;'>" + comment.comment + "</pre></td>";
Run Code Online (Sandbox Code Playgroud)
但我发现一些JSP标记用作替代使用<pre>来解决我的newLine问题:
var html = "<td id='comment-" + comment.id + "'class='wrappable' style='width:400px;'>"
+ "<ctl:breakNewline target='" + comment.comment + "'/></td>";
Run Code Online (Sandbox Code Playgroud)
但它似乎没有用.这是怎么造成的,如何正确解决?
当我们使用下面的Compiler指令时,我不在web.xml中使用
<%@ taglib uri="/struts-tags" prefix="s"%>
Run Code Online (Sandbox Code Playgroud)
tomcat会怎么做?taglib如何找到.tld?它有搜索序列吗?我想知道这个原则.THX〜
我在JSP中有一些代码如下:
<c:iterate name="list" id="payment" index="idx">
<tr class="gRowEven"
_paid="<c:write name="payment" property="paid"/>">
Run Code Online (Sandbox Code Playgroud)
现在我的问题是我想基于变量调用控制器中的方法_paid.我可以做一个request.setAttribute("_paid", _paid)
我假设它会起作用.但我不应该这样做.所以我想知道是否有其他方法可以做到这一点?
jsp-tags ×10
jsp ×6
java ×4
java-ee ×2
jstl ×2
controller ×1
javascript ×1
spring-mvc ×1
struts-1 ×1
taglib ×1
tld ×1