javascript - 在 JavaScript 函数中创建 Struts2 标签

标签 javascript struts2

我想知道是否可以在 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 标记在服务器上进行评估。

您有多种选择,但不限于:

使用文本标签的输出作为JS值

至少有两种方法可以做到这一点:

  • 将 JS 放入 JSP 中,或者
  • 通过 JSP 处理器评估您的 JS

评估 JSP 中的一些 JS 并调用外部 JS

例如,您可以在 JSP 中创建 I18N 标签等的哈希值,并将其传递给 JS 文件中的 JS 功能(它应该存在的位置)。

将文本标记的输出存储在隐藏的 DOM 元素中

使用 JS 检索它并像现在一样构建 DOM。

这可以说是最干净的。

<小时/>

使用 jQuery 的“干净”解决方案的粗略概述

参见this fiddle了解基础知识。

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);
}

可以稍微收紧一点,但这是总体思路。

关于javascript - 在 JavaScript 函数中创建 Struts2 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16817775/

相关文章:

javascript array.toString() 元素分离

javascript - 将业务逻辑放在 Node+Express.js REST Api 的什么地方

java - 尝试让简单的 Struts2 w/Hibernate 示例工作时出错

struts2 - struts2的actioncontext和actionIncation有什么区别?

java - struts2 最佳实践 - 在哪里放置辅助方法?静态类可以吗?

javascript - 我的全局变量在 transcationSuccess 回调中显示为未定义 - 无法弄清楚为什么

javascript - 为 FB 发送添加自定义按钮

javascript - 如何在 javascript 中处理可能的 HTML 编码值

jquery - Struts 2 jQuery 插件项目中的 js 文件中将添加 "_=13 digits"

jquery - Struts2 Jquery 构造