AdobeCQ-从.jsp节点获取HTML内容
将AdobeCQ-从.jsp节点获取HTML内容,html,jsp,adobe,aem,Html,Jsp,Adobe,Aem,将.jsp文件放在/components 路径看起来像:http://localhost:4502/apps/project-name/components/my component/one.jsp 是否可以通过url获取此one.jsp的HTML内容而不创建内容节点? 类似于: http://localhost:4502/apps/project-name/components/my-component/one.HTML 进一步呈现需要.html内容。您的问题有点模糊,但据我所知,您希望检索
.jsp
文件放在/components
路径看起来像:http://localhost:4502/apps/project-name/components/my component/one.jsp
是否可以通过url获取此one.jsp的HTML
内容而不创建内容节点?
类似于:
http://localhost:4502/apps/project-name/components/my-component/one.HTML
进一步呈现需要.html
内容。您的问题有点模糊,但据我所知,您希望检索整个页面的html,这可以通过使用java.net.URL实用程序从URL读取输入流来完成
您也可以在其他jsp中放置iframe来获取内容。您可以始终使用传统的.html文件而不是.jsp,但是(可能很明显)您将失去jsp提供的所有服务器端功能
还值得注意的是,出于安全原因,/apps通常被拒绝匿名访问,因此在具有OOTB权限的发布实例上无法访问此.html文件。据我所知,您无法通过提供JSP文件的路径直接从JSP获取html内容。它按原样显示JSP中的内容,而无需编译
一种可能的方法是创建一个nt:unstructured节点,将sling:resourceType属性设置为jsp的路径(如下所示)
您可以提供测试节点的路径,以获取jsp呈现的html
/apps/geometrixx/components/title/test
我只想将express.jsp作为纯.html,而不在内容层次结构下创建节点,以便访问类似于:/one.html或其他类似方式的.jsp。没有后端,只需通过url获取html内容,问题是应该使用什么url。谢谢您的帮助。正如我所说的,您可以使用URL实用程序按原样读取jsp的内容。同样的。您将在此中提供的url可以来自。请参阅Externalizer publishLink//authorLink//absoluteLink的Api方法。Externalizer可以用于为各种环境配置链接。我的意思是,我可以获得如下.html视图:/http://localhost:4502/apps/project-name/components/my component/one.jsp/jcr:content/jcr:data
或其他方式?您好,谢谢您的回答,这种方法会给我造成错误:Guice注入器名称不可用。@sergionni您使用的是切片框架吗?上面的示例在我的服务器中工作(没有切片)。你能提供更多关于错误的信息以便我们能找出它吗?是的,Sling。错误看起来像:由以下原因引起:java.lang.IllegalStateException:Guice注入器名称在com.cognifide.slice.api.tag.SliceTagUtils.getFromCurrentPath(SliceTagUtils.java:73)不可用
…看起来像方法SliceTagUtils中的appName
参数。getFromCurrentPath
为空。此参数是什么意思?@sergionni请检查此链接。他们正在尝试获取中指定的appName属性,如果未指定,它将检查resource.IIUC中的“injectorName”属性“需要进一步呈现.html内容”表示JSP生成的html将包含在另一个页面中。在这种情况下,最好使用包含资源呈现的JSP标记。当然,这将以一个Sling资源(内容或其他节点)为目标。您也可以像往常一样使用@include.Hi Bertrand将JSP包含在其他JSP中,我明白您的意思。还有一个更详细的说明:这个.html应该在点击链接时被调用(比如
),我的意思是它将在其他jsp页面中引用jsp的html内容。好的,所以对于这一点,建议的方法是创建一个内容节点,只要确保正确处理访问控制。一般来说,您不希望用户阅读JSP,因此建议将实际内容放在/apps下以外的其他位置。
/apps/geometrixx/components/title/test