gpt4 book ai didi

java - tag

转载 作者:行者123 更新时间:2023-12-02 08:17:16 26 4
gpt4 key购买 nike

是否有任何解决方案可以得到类似 <cms:include type="OpenCmsString" element="text1" /> 的内容? ?因为我的输出 <cms:include element="text1">总是用 <p> 给我数据标签。

感谢任何善意的帮助。

最佳答案

我曾经为此创建过自己的标签(StripPTag)。您可以编译该类并将其包装在 jar 文件中,然后将其部署到您的 opencms webapp lib 文件夹。

package com.opencmsserver.taglib;

import org.opencms.flex.CmsFlexController;
import org.opencms.jsp.Messages;
import org.opencms.main.CmsLog;

import javax.servlet.ServletRequest;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.BodyTagSupport;

import org.apache.commons.logging.Log;

/**
* Removes the <p> tag from the surrounded content,
* because FCKEditor always add <p> tag to content at
* the beginning and end when using the html editor component
*
* @author Mathias Lin
*
* @version $Revision: 0.1 $
*
* @since 0.4
*/
public class StripPTag extends BodyTagSupport {

/** Serial version UID required for safe serialization. */
private static final long serialVersionUID = -2361021288258405388L;

/** The log object for this class. */
private static final Log LOG = CmsLog.getLog(StripPTag.class);


/**
* @see javax.servlet.jsp.tagext.Tag#doEndTag()
* @return EVAL_PAGE
* @throws JspException in case soemthing goes wrong
*/
public int doEndTag() throws JspException {

ServletRequest req = pageContext.getRequest();

// This will always be true if the page is called through OpenCms
if (CmsFlexController.isCmsRequest(req)) {
try {
// Get link-string from the body and reset body
String content = getBodyContent().getString();
content = content.replaceAll("<p>", "");
content = content.replaceAll("</p>", "");
getBodyContent().clear();
getBodyContent().print(content);
getBodyContent().writeOut(pageContext.getOut());

} catch (Exception ex) {
if (LOG.isErrorEnabled()) {
LOG.error("Failed using StripPTag. ", ex);
}
throw new JspException(ex);
}
}
return EVAL_PAGE;
}
}

和我自己的 opencmsserver.tld:

<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE taglib
PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
"http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">

<taglib>
<tlib-version>0.1</tlib-version>
<jsp-version>1.2</jsp-version>
<short-name>opencmsserver</short-name>
<uri>http://www.opencmsserver.com/taglib/cms</uri>
<display-name>OpenCms JSP standard taglib</display-name>
<description>
Additional OpenCms Tags
Developed by SYSVISION Ltd. / Mathias Lin (info@opencmsserver.com)
</description>

<tag>
<name>stripPTag</name>
<tag-class>com.opencmsserver.taglib.StripPTag</tag-class>
<body-content>JSP</body-content>
<description>
This tag stripts the p-tag from the surrounded content.
</description>
</tag>

</taglib>

然后我在 web.xml 中引用它:

<!-- Begin: Custom SYSVISION OpenCmsServer lib -->      
<taglib>
<taglib-uri>http://www.opencmsserver.com/taglib/opencmsserver</taglib-uri>
<taglib-location>/WEB-INF/opencmsserver.tld</taglib-location>
</taglib>

在你的jsp中,你只需将它包围起来:

<opencmsserver:stripPTag>Some content<p>with a paragraph</opencmsserver:stripPTag>

(并且不要忘记在 jsp header 部分引用此标记库)。

关于java - <cms :include without <p> tag,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6118725/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com