Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在JSP portlet上区分暂存和实时?_Java_Jsp_Liferay_Portlet - Fatal编程技术网

Java 如何在JSP portlet上区分暂存和实时?

Java 如何在JSP portlet上区分暂存和实时?,java,jsp,liferay,portlet,Java,Jsp,Liferay,Portlet,我开始制作一个JSP表单portlet,我有两个疑问 (一) 我制作了一个结构和相应的模板,并用它创建了几个web内容。 现在,我正在创建一个JSP portlet来显示web内容,我正在使用JournalArticleLocalServiceUtil.getStructureArticles()获取所有内容,但每当我添加更多内容时,它都会自动显示在Live和Staging中,而不是仅显示在Staging中。 我怎样才能解决这个问题 (二) Liferay是否自动清理所有输入以防止SQL注入和X

我开始制作一个JSP表单portlet,我有两个疑问

(一) 我制作了一个结构和相应的模板,并用它创建了几个web内容。 现在,我正在创建一个JSP portlet来显示web内容,我正在使用
JournalArticleLocalServiceUtil.getStructureArticles()
获取所有内容,但每当我添加更多内容时,它都会自动显示在Live和Staging中,而不是仅显示在Staging中。 我怎样才能解决这个问题

(二) Liferay是否自动清理所有输入以防止SQL注入和XSS攻击

谢谢。

1)如果您始终使用相同的
groupId
,您将始终获得相同的内容:直播和登台站点具有不同的组id。您通常会使用“当前”groupId,这意味着在登台时是登台的,在直播时是直播的


2) Servicebuilder通常不受SQL注入的影响,除非您手动构造SQL查询。由于脚本内容有一些合法用途,您必须自己确定转义用户生成内容的级别,Liferay为类
HtmlUtil
提供了各种转义方法。挑选你需要的。对于一般用途,例如清理WebContent、博客等,您可能需要部署Liferay Marketplace的AntiSamy插件

i)您是正确的,Liferay知道什么是正确的groupId,但我还必须传递结构ID。现在我给portlet结构的staging ID,如何获取live ID?2) 感谢您使用结构UUID而不是它的structureId:UUID不会在临时环境和实时环境之间更改。这适用于结构,但不适用于内容。您现在知道如何从内容暂存id获取实时内容id了吗?