标签: taglib

是否可以在Tomcat中关闭taglib扫描?

在启动时,Tomcat递归扫描WEB-INF目录中的TLD(标记库描述符)文件.因此,如果webapp在该目录下有很多文件,则会降低启动过程的速度.有没有人知道在这种情况下是否有办法完全关闭扫描,或者至少提供一个过滤器来缩小搜索范围?

java tomcat taglib

6
推荐指数
3
解决办法
1万
查看次数

JSP Custom Taglib:嵌套评估

说我有我的自定义taglib:

<%@ taglib uri="http://foo.bar/mytaglib" prefix="mytaglib"%>
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c"%>

<mytaglib:doSomething>
  Test
</mytaglib:doSomething>
Run Code Online (Sandbox Code Playgroud)

在taglib类中,我需要处理一个模板并告诉JSP重新评估它的输出,例如,如果我有这个:

public class MyTaglib extends SimpleTagSupport {

  @Override public void doTag() throws JspException, IOException {
    getJspContext().getOut().println("<c:out value=\"My enclosed tag\"/>");
    getJspBody().invoke(null);
  }
}
Run Code Online (Sandbox Code Playgroud)

我的输出是:

<c:out value="My enclosed tag"/>
Test
Run Code Online (Sandbox Code Playgroud)

当我真的需要输出这个:

My enclosed tag
Test
Run Code Online (Sandbox Code Playgroud)

这可行吗?怎么样?

谢谢.

java jsp taglib

6
推荐指数
1
解决办法
4125
查看次数

Struts - Struts提供的.tld JSP页面中的Taglib指令

我正在开发一个Struts基础应用程序.我是Struts的新手.我想使用html的标签,在所提供的标签库目录规定Struts,在一个JSP页面.

但不知道如何使用它.我知道如何使用taglib指令,但我从源代码中了解到.tld文件已经嵌入1.2.8版之后的.jar文件中.我使用的是Struts 2.1.8版.

我不知道该struts-html.tld文件位于哪个.jar文件中.

java struts2 taglib

6
推荐指数
1
解决办法
4万
查看次数

从JSTL读取属性文件

我试图使用taglib从JSTL中读取"属性文件",但我无法访问它

<%@ taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt"%> 
Run Code Online (Sandbox Code Playgroud)

我已经在web.xml中正确找到了tld文件,我确定这一点

<taglib>
<taglib-uri>http://java.sun.com/jstl/fmt</taglib-uri>
<taglib-location>/WEB-INF/lib/fmt.tld</taglib-location>
</taglib>
Run Code Online (Sandbox Code Playgroud)

属性文件名是msg.性能

<fmt:bundle basename="msg">
<fmt:message key="error.more" />
</fmt:bundle>
Run Code Online (Sandbox Code Playgroud)

我一直在

???error.more???
Run Code Online (Sandbox Code Playgroud)

而不是属性文件中的消息

我认为问题在于找到属性文件,或者在基本名称中

<fmt:bundle basename="msg">
Run Code Online (Sandbox Code Playgroud)

我应该在哪里找到属性文件,如何在代码中引用它?

感谢大家

jstl properties taglib

6
推荐指数
2
解决办法
2万
查看次数

如何使用Struts标记测试给定的请求参数是否存在?

某些页面可以接收名为"P1"的特定请求参数:

page.do?P1=value1
Run Code Online (Sandbox Code Playgroud)

现在,scriptlet正在测试请求参数是否存在,如果P1是"value1",则会在页面上呈现一些信息.

我想使用Struts标签重写它,而不是使用scriptlet.

你能告诉我一些关于使用什么的提示吗?

替代scriptlet是这样的:

<%
String p1 = request.getParameter("P1");
if ("value1".equals(p1)) {
//do something
}
%>
Run Code Online (Sandbox Code Playgroud)

struts taglib java-ee http-request-parameters

6
推荐指数
1
解决办法
9094
查看次数

Spring MVC和自定义标签

我想在spring-mvc应用程序中的自定义taglibs中使用spring-beans.原因TagLib-Instances不是由spring实例化的,我不能使用dependnecy-injection.

我的下一个想法是通过拦截器将spring-context添加到请求中,并从tag-class中的请求中获取它.

有没有更好的方法在taglibs中使用spring?春天有什么东西可以随时使用吗?如果spring-mvc中还没有customtag-support,是否有办法用依赖项填充现有对象?

public class MyTag extends TagSupport {
  @Autowired 
  private MyObject object;

  public void setMyObject(MyObject myObject) {
    this.myObject = myObject;
  }

  public int doEndTag() {
    ApplicationContext context = request.getAttribute("context");
    context.populate(this);

    return object.doStuff();
  }
}
Run Code Online (Sandbox Code Playgroud)

java spring-mvc taglib

6
推荐指数
1
解决办法
7240
查看次数

如何编写tagx(没有java的JSPX标记库)

我找不到关于如何在JSPX中编写没有Java的现代标记库的好文档?

Spring Roo提供了大量示例(似乎只是广泛使用tagx的项目).

我可能会提出另一个问题,但每次我想在JSPX(DRY)中不再重复自己时,我觉得必须牺牲宝贵的时间并创建一个标记库,因为没有内联宏.

我觉得我必须在JSP/X中遗漏一些东西.

java templates jspx taglib tagx

6
推荐指数
1
解决办法
7421
查看次数

使用JSP/EL的省略号(缩写文本)

我想知道用JSP /表达式语言实现省略号缩写的最佳方法是什么.

现在,我一直在使用fn:substring,这没关系,但我希望有三个点"......",以防文本被截断.

通过网络搜索,我发现Java Web Parts有一个AbbreviateTag.但是我想知道是否有更好的库,或者我是否更好地滚动自己的自定义标签.你有什么建议?

java jsp el taglib

6
推荐指数
1
解决办法
2204
查看次数

我的taglib错误<%@ taglib prefix ="portlet"uri ="http://java.sun.com/portlet_2_0"%>

当我开发我的portlet时,当我编写我的jsp页面时,我使用了:

<%@ taglib prefix="portlet" uri="http://java.sun.com/portlet_2_0"%>
Run Code Online (Sandbox Code Playgroud)

但是eclipse告诉我一个错误,告诉我它找不到http://java.sun.com/portlet_2_0的标签lib描述符.

如何使用tld文件解决此问题?

eclipse portlet taglib

6
推荐指数
2
解决办法
1万
查看次数

TagLib输出错误的编码

我使用的标签库,但它是像呈现,而不是输出性格怪异的行为,<,",和>它输出&lt;,&quot;&gt;.

代码:

class LoginTagLib {
static defaultEncodeAs = [taglib:'html']
//static encodeAsForTags = [tagName: [taglib:'html'], otherTagName: [taglib:'none']]
def loginControl = 
{
    if(session.user)
    {
        out << "Hello ${session.user.name}"
        out << """[${link(action:"logout", controller:"user"){"Logout"}}]"""
    }
    else
    {
        out << """[${link(action:"login", controller:"user"){"Login"}}]"""
    }
}
Run Code Online (Sandbox Code Playgroud)

}

在.gsp我有

<g:loginControl />
Run Code Online (Sandbox Code Playgroud)

当我打开页面时,我有:

Hello Jane Smith[<a href="/Blogito/user/logout">Logout</a>] 
Run Code Online (Sandbox Code Playgroud)

但页面的源代码是:

<div id="loginHeader">
Hello Jane Smith[&lt;a href=&quot;/Blogito/user/logout&quot;&gt;Logout&lt;/a&gt;]
</div>
Run Code Online (Sandbox Code Playgroud)

我已经尝试使用.encodeAsHTML(),decodeHTML,.replace('&gt;', '<')和迄今没有奏效

grails html-encode taglib

6
推荐指数
2
解决办法
1854
查看次数