내 회사는 Adobe CQ5를 새로운 컨텐츠 관리 시스템으로 사용할 것을 고려하고 있으며 특정 작업을 수행하는 방법을 알아 냈습니다. 그것으로.JSP 파일에 사용할 Adobe/Day CRX (2.2)에 외부 Java 라이브러리 추가
우리가하고자하는 한 가지는 JSP 페이지 내의 스크립틀릿에있는 오래된 웹 애플리케이션 용으로 만든 JAR 파일을 사용하는 것입니다. 아마도 서비스 나 다른 것을 호출 할 수 있습니다.
OSGi 번들을 사용하여이 작업을 수행했는데, 우리가 원하는 작업이 아닌 것으로 생각합니다. 지금 JSP 파일에서 외부 라이브러리를 사용할 위치를 파악하는 데 문제가 있습니다.
난 그냥 일반적인 클래스 항아리에 유일한 것입니다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-빠른 시작에 넣어 시도/서버/해당 폴더에 대한 README가
는 "모든 웹 응용 프로그램간에 공유해야이 폴더에 라이브러리를 넣어 말한다
일반/lib에 그리고 서버. "
하지만 액세스하려고하면 JSP 파일에 몇 가지 문제가 있습니다.
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();
내가 오기를 변경하여 패키지에 대한 첫 번째 오류를 해결할 수 : 나는 브라우저에서로 이동하면 나는 이러한 오류를 얻을
<%@ 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>
:이 전체의 JSP 파일입니다 com.company.test. *하지만 다른 두 가지 오류는 수정되지 않습니다.
나는 이것이 서비스를 사용하는 최상의 '실천'이 아니라는 것을 알고 있지만, 나는 우리가 원한다면 우리가 그 라이브러리를 사용할 수 있다는 것을 보여주는 개념 증명을 얻기를 바랐다. 어떤 도움을 주시면 감사하겠습니다.