首先,我为liferay中的喧嚣道歉。
当我使用例如<aui:input label="EventName" name="EventName" type="text" />
时
liferay jsp文件中的标签没有问题,但是当我想使用out.println生成相同的输入字段时它不起作用。
out.println("<aui:input label=\"EventName\" name=\"EventName\" type=\"text\" />")
liferay是否能够处理这个或什么?
注意:我可以简单地生成HTML代码而不会出现问题。例如,此代码适用于我:out.println("<p>information for " +(i+1) + "th Guest:</p>" );
我使用liferay 6.1.2 ce-ga3和eclipse IDE。
答案 0 :(得分:1)
这不是关于Liferay的问题,而是关于JSP的一般问题:
JSP的工作方式是应用程序服务器将JSP编译为servlet。在此过程中,标记将转换为实际的Java代码。这发生一次(服务器端),通常在JSP发生变化时发生。编译是静态的,浏览器永远不会看到<aui:input .../>
,而是会看到一个相当精细的<input .../>
,可能还有其他装饰,javascript标签等aui标签生成。
这就是为什么在运行时无法为JSP生成标记的原因。在运行时,您必须生成纯HTML,因为这是浏览器将理解的内容。