首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Struts2函数中创建JavaScript标记

在Struts2函数中创建JavaScript标记
EN

Stack Overflow用户
提问于 2013-05-29 15:17:28
回答 1查看 3K关注 0票数 0

我想知道是否可以创建一个Struts2标记(例如)在JavaScript函数中或使用jQuery。

例如,我试过:

代码语言:javascript
复制
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函数显示或隐藏它们。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-29 15:37:08

JS在客户机上执行。JSP标记在服务器上进行评估。

您有几个选项,不限于:

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

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

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

计算JSP中的某些 JS,并调用外部JS

例如,您可以在JSP中创建I18N标签等的散列,并将其传递给驻留在JS文件中的JS功能(它应该驻留在JS文件中)。

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

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

这可以说是最干净的。

使用的“清洁”解决方案概述

有关基础知识,请参见这把小提琴

JSP:

代码语言:javascript
复制
<div id="hello" style="display: none;"><s:text label="HELLO" /></div>

JS:

代码语言:javascript
复制
function createDiv() {
  var $div = $("<div className='newer'>").html($("#hello").html());
  $("#outputHere").html($div);
}

它可以收紧一点,但这是一般的想法。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16817775

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档