当前位置: 首页 > 面试题库 >

在从Ant运行的javascript中,如何获取参数值?

房冥夜
2023-03-14
问题内容

我在中定义了一个macrodef Ant,并javascript用来完成这项工作。在这种情况下,我正在验证timezone

<macrodef name="validateTimeZone">
    <attribute name="zone" />
    <sequential>
        <echo>result: ${envTZResult}</echo>
        <echo>  validating timezone: @{zone}</echo>
        <script language="javascript"><![CDATA[
            importClass(java.util.TimeZone);
            importClass(java.util.Arrays);
            var tz = project.getProperty("zone");
            println("    got attribute: " + tz);
            var result = Arrays.asList(TimeZone.getAvailableIDs()).contains(tz); //testing if timezone is known
            project.setProperty("zoneIsValid", result);
        ]]> 
        </script>
    </sequential>
</macrodef>

问题是project.getProperty()没有检索传递的属性的值。有人知道您如何从javascript中获取属性的值吗?


问题答案:

原来我使用了错误的标签类型。为了使用脚本定义蚂蚁任务,我应该使用scriptdefnot
macrodef。使用scriptdef预定义的对象可以访问任务中的属性和嵌套元素。

这适用于从Ant中的javascript访问属性:

<scriptdef name="validateTimeZone" language="javascript">
    <attribute name="zone" />
    <![CDATA[
        importClass(java.util.TimeZone);
        importClass(java.util.Arrays);
        var tz = attributes.get("zone"); //get attribute defined for scriptdef
        println("    got attribute: " + tz);
        var result = Arrays.asList(TimeZone.getAvailableIDs()).contains(tz); //testing if timezone is known
        project.setProperty("zoneIsValid", result);
    ]]> 
</scriptdef>


 类似资料:
  • 问题内容: 如何从JavaScript请求中获取“ GET”变量? 是jQuery还是YUI!内置此功能吗? 问题答案: 所有数据均在 您必须解析字符串,例如。 只需以GET变量名作为参数调用该函数,例如。 如果变量没有值或不存在,则此函数将返回变量value或undefined

  • 问题内容: 我有这样的网址: 如何获取章节和帖子的参数值​​? 我的URL在Chapter参数的值中包含“&”。 问题答案: 您可以在Android中使用Uri类来完成此操作; https://developer.android.com/reference/android/net/Uri.html 这样,您甚至可以从查询参数中获取特定元素;

  • 问题内容: 有没有办法获取正在运行的JVM的参数?是否有像jstat这样的命令行工具将JVM的pid作为输入并返回其启动参数?我对启动JVM时给出的-Xmx和- Xms值特别感兴趣。谢谢。 编辑 :澄清我的约束。我们要检查的JVM正在生产服务器上运行。因此,我们更喜欢最小的干扰。我们能够使用jstat监视JVM,因此我们希望有一个类似的简单解决方案来访问参数。 编辑 :我们还尝试使用jvisual

  • TestCase类是我初始化驱动程序并调用url(urlhttp://www.amazon.in/") TC1是我去亚马逊登录页面的测试 进入登录页面的逻辑写入GoToSignPage InitialPage 类具有所有必需的页面对象 错误如下: org.openqa.selenium.WebDriverException: 未知错误: 参数未定义 (会话信息: chrome=56.0.2924.

  • 问题内容: 我有一个带有一些GET参数的URL,如下所示: 我需要获得的全部价值。我尝试读取该URL,但只有。如何使用JavaScript执行此操作? 问题答案: JavaScript 本身 没有内置处理查询字符串参数的内容。 在(现代)浏览器中运行的代码可以使用对象(它是浏览器提供给JS的API的一部分): 对于较旧的浏览器(包括Internet Explorer),您可以使用此polyfill

  • 问题内容: 我正在为SQLException编写通用记录器,我想获取传递给PreparedStatement的参数,该怎么做?我能够得到他们的数量。 问题答案: 简短的回答:不能。 长答案:所有JDBC驱动程序都会将参数值保留在某个地方,但是没有标准的方法来获取它们。 如果要出于调试或类似目的而打印它们,则有几种选择: 创建一个传递JDBC驱动程序(使用p6spy或log4jdbc作为基础),该驱