我想知道是否可以创建一个Struts2标记(例如)在JavaScript函数中或使用jQuery。
例如,我试过:
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),这也是crashed...so,我想知道是否可以这样做,或者我应该在主体的HTML部分创建这些元素,被CSS样式隐藏,然后根据应用程序的需要使用JavaScript /jquery函数显示或隐藏它们。
发布于 2013-05-29 15:37:08
JS在客户机上执行。JSP标记在服务器上进行评估。
您有几个选项,不限于:
使用文本标记的输出作为JS值
至少有两种方法可以做到这一点:
计算JSP中的某些 JS,并调用外部JS
例如,您可以在JSP中创建I18N标签等的散列,并将其传递给驻留在JS文件中的JS功能(它应该驻留在JS文件中)。
将文本标记的输出存储在隐藏的DOM元素中
使用JS检索它,并像现在一样构造DOM。
这可以说是最干净的。
使用的“清洁”解决方案概述
有关基础知识,请参见这把小提琴。
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);
}它可以收紧一点,但这是一般的想法。
https://stackoverflow.com/questions/16817775
复制相似问题