[英]Create Struts2 tag inside JavaScript function
我想知道是否可以在JavaScript函数内部或使用jQuery创建Struts2标记(例如)。
例如,我试过:
function createStrutsTag(){
var newElement;
newElement= document.createElement("div");
newElement.className = 'newer';
newElement.innerHTML = '<s\:textfield label="HELLO" \/>';
newElement.css('visibility','visible'); }
但是,它只是创建了包含标签<s:textfield label =“HELLO”/>的div而没有被解析为它的真正含义。
我也试过struts2-jquery-plugin标签 (sj)也崩溃了...所以我想知道它是否可以完成或者我应该在身体的HTML部分创建这些元素,被CSS样式隐藏然后使用JavaScript / jquery函数显示或隐藏它们,因为应用程序需要它们。
JS在客户端上执行。 JSP标记在服务器上进行评估。
您有多种选择,不仅限于:
使用text标记的输出作为JS值
至少有两种方法可以做到这一点:
在JSP中评估一些 JS并调用外部JS
例如,您可以在JSP中创建I18N标签等的哈希值,并将其传递给JS文件中的JS功能(它应该存在的位置)。
将文本标记的输出存储在隐藏的DOM元素中
使用JS检索它并像现在一样构建DOM。
这可以说是最干净的。
使用jQuery粗略概述“干净”解决方案
看看这个小提琴的基础知识。
JSP:
<div id="hello" style="display: none;"><s:text label="HELLO" /></div>
JS:
function createDiv() {
var $div = $("<div className='newer'>").html($("#hello").html());
$("#outputHere").html($div);
}
它可能会收紧一点,但这是一般的想法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.