什么是<%=某些东西%>?

时间:2012-06-22 15:58:30

标签: javascript

我正在维护一个javascript页面,我只是想知道围绕一个变量会有什么用呢?

<%= variable %>

我试过搜索但是找不到任何相关信息,所以如果已经回答了我很抱歉! =)

谢谢!

4 个答案:

答案 0 :(得分:3)

这些是ERB风格的标签。它们以各种语言和格式使用,通常用于将简单变量输入到页面中,或者对传递给页面的变量做一些逻辑。

看到它是一个Javascript页面,你可能想看一下underscore.js的模板引擎的文档,它会让你知道发生了什么。 http://underscorejs.org/#template

另一个SO页面解释&lt;% - %&gt;,&lt;%=%&gt;和&lt; %%&gt;之间的差异在下划线中的标签: Boolean checks in underscore templates

Interpolate将元素作为文本(不是HTML)放入,escape将允许您嵌入HTML,而evaluate将在其中运行作为JS的内容。

答案 1 :(得分:2)

这可能是许多不同的服务器端语言,包括JSP,ASP(vbscript)或ASP.NET,但它不是JavaScript。您将能够通过您正在编辑的文件的文件扩展名来判断。

  • .asp结尾的文件是ASP(vbscript)文件。
  • .aspx结尾的文件是ASP.NET文件。
  • .jsp结尾的文件是JSP文件。

答案 2 :(得分:1)

这可以被识别为JSP scriptlet expression。您通常会在扩展名为.jsp的文件中看到这一点。 JSP是一种基于Java的服务器端视图技术,类似于PHP和ASP。这与JavaScript完全无关。 JSP(以及PHP和ASP)仅仅是HTML代码生成器。它们在Web服务器上运行并生成HTML。 JavaScript是该HTML的一部分,仅在webbrowser上运行。

特定的代码段基本上将String保存的值的variable表示形式打印到HTTP响应中,正好是声明表达式的那一点。它就像一个System.out.println(variable),但随后以HTTP响应体为输出。可以将JSP / Servlet容器配置为对servletcontainer提供的.js文件执行它们,但这不是默认配置。

JSP scriptlet表达式是一种相当老派的编写JSP的方式,导致紧密耦合和不可维护的代码。另请参阅How to avoid Java code in JSP files?

答案 3 :(得分:0)

很可能你正在查看ASP tags,ASP和ASP.NET在客户端代码中使用它来与服务器通信。

例如,假设我在页面上有一个隐藏在某个转发器控件中的隐藏输入:

<input type="hidden" name="foo" id="foo" runat="server" value="blah" />

为了获取呈现的ID(如果它嵌套在ASP控件中,它不仅仅是“foo”),我需要从服务器中获取它:

var hiddenID = <%= foo.ClientID %>;