моя компания рассматривает возможность использования Adobe CQ5 в качестве новой системы управления контентом, и мне было дано задание выяснить, как с ней делать определенные вещи.
Одна вещь, которую мы хотели бы сделать, этоиспользуйте некоторые JAR-файлы, которые мы создали для наших старых веб-приложений в скриптлетах на наших страницах JSP, возможно, для вызова службы или чего-то подобного.
Я пытался сделать это с пакетами 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;}
}
Единственное, что было в банке.
Я попытался поместить его в / crx-quickstart / server / lib / common
, который README для этой папки говорит
«Поместите в эту папку библиотеки, которые должны быть доступны всем веб-приложениям и серверу.»
, но у моего файла 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. *, но он не исправляет две другие ошибки.
Я знаю, что это не лучший «способ» использования сервисов, но я надеялся просто получить подтверждениеРазработка концепции, которая показывает, что мы можем использовать эти библиотеки, если захотим.Любая помощь будет оценена.