gpt4 book ai didi

jsp - 将外部 Java 库添加到 Adob​​e/Day CRX (2.2) 以在 JSP 文件中使用

转载 作者:行者123 更新时间:2023-12-04 05:57:02 26 4
gpt4 key购买 nike

我的公司正在考虑使用 Adob​​e CQ5 作为新的内容管理系统,我的任务是弄清楚如何用它做某些事情。

我们想要做的一件事是在我们的 JSP 页面中的 scriptlet 中使用我们为旧 Web 应用程序创建的一些 JAR,可能是为了调用服务或其他东西。

我研究过使用 OSGi 包来做这件事,但我认为这不是我们想要做的。
现在我很难弄清楚将要在我们的 JSP 文件中使用的外部库放在哪里。

我创建了一个只有通用类的 JAR

package org.company.test;

import java.lang.String;

public class TestService{
private String myString;
public TestService(String input){myString = input;}
public String getMyString(){return myString;}
}

那是 jar 里唯一的东西。

我试着把它放进 /crx-quickstart/server/lib/common

该文件夹的自述文件说

“将应在所有 Web 应用程序和服务器之间共享的库放在此文件夹中。”

但是当我尝试访问它时,我的 JSP 文件有一些问题。这是 JSP 文件的全部内容:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<%%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ TR/html4/loose.dtd">
<%%>
<%@page session="false"%>
<%@taglib prefix="sling" uri="http://sling.apache.org/taglibs/sling/1.0"%>
<sling:defineObjects/>

<%@ page import="javax.jcr.Repository, javax.jcr.Session, javax.jcr.SimpleCredentials, javax.jcr.Node, javax.jcr.NodeIterator,
java.net.URLEncoder, java.util.List, java.util.Iterator, javax.jcr.Value, javax.jcr.RepositoryException,org.company.test.TestService;"%>
<html>
<head>
<style type="text/css"><jsp:include page="/content/myBlog/style.css"/></style>
<!--<link rel="stylesheet" href="/content/myBlog/style.css" type="text/css">-->
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<%
TestService jServ = new TestService("TigerBlood");
String returnValue = "Failed";
if(jServ!=null){
returnValue = jServ.getMyString();
}
%>
<title><%= returnValue %></title>
</head>
<body>
<a href="/content/myBlog.html" class="imgcontainer"><img src="/apps/myBlog/myBlog.png" width="80px" height="60px" border="0" alt="myBlog" /></a>
<h1><%= returnValue %></h1>
<div class="body">
<br>
<a href="/apps/myBlog/comment.html">Comment</a>
</div>
</body>
</html>

当我在浏览器中导航到它时,我收到以下错误:
Unable to compile class for JSP: An error occurred at line: 16 in the generated java file Only a type can be imported. org.company.test.TestService resolves to a package 

An error occurred at line: 17 in the jsp file: /apps/myBlog/test.jsp TestService cannot be resolved to a type
14: <!--<link rel="stylesheet" href="/content/myBlog/style.css" type="text/css">-->
15: <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
16: <%
17: TestService jServ = new TestService("TigerBlood");
18: String returnValue = "Failed";
19: if(jServ!=null){ 20: returnValue = jServ.getMyString();

An error occurred at line: 17 in the jsp file: /apps/myBlog/test.jsp TestService cannot be resolved to a type
14: <!--<link rel="stylesheet" href="/content/myBlog/style.css" type="text/css">-->
15: <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
16: <%
17: TestService jServ = new TestService("TigerBlood");
18: String returnValue = "Failed";
19: if(jServ!=null){
20: returnValue = jServ.getMyString();

我可以通过将导入更改为 com.company.test.* 来修复关于包的第一个错误,但它不会修复其他两个错误。

我知道这不是使用服务的最佳“实践”,但我希望能得到一个概念证明,表明我们可以根据需要使用这些库。任何帮助,将不胜感激。

最佳答案

我找到了答案,您必须将外部库捆绑为 OSGi 捆绑包。

流程可以找到here

找到这个答案出奇地困难,虽然它比添加 JAR 更耗时,但它确实有效。

关于jsp - 将外部 Java 库添加到 Adob​​e/Day CRX (2.2) 以在 JSP 文件中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9399206/

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