第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我正在嘗試在 java 中運(yùn)行 groovy 腳本

我正在嘗試在 java 中運(yùn)行 groovy 腳本

湖上湖 2023-11-10 16:15:30
我有一個已解析的 HTML 文件,其中有一個標(biāo)簽,里面有一個 groovy 腳本。我在字符串中有 groovy 腳本,我必須在運(yùn)行時執(zhí)行它并保留狀態(tài),以便以后可以使用它。任何人都知道如何:在java中運(yùn)行g(shù)roovy腳本保留該狀態(tài)以供進(jìn)一步使用。謝謝你!
查看完整描述

1 回答

?
POPMUISE

TA貢獻(xiàn)1765條經(jīng)驗(yàn) 獲得超5個贊

該類groovy.util.Eval可能是在運(yùn)行時動態(tài)執(zhí)行 Groovy 的最簡單方法。下面給出一個示例:


import groovy.util.Eval;


public class Goovy123 {

    public static void main(String[] args) {

        System.out.println(Eval.me("33*3"));//99

        System.out.println(Eval.me("'foo'.toUpperCase()"));//FOO

    }

}

我在項(xiàng)目中使用了以下 Maven 依賴項(xiàng)來獲取所需的庫:


<dependency>

    <groupId>org.codehaus.groovy</groupId>

    <artifactId>groovy-all</artifactId>

    <version>2.5.8</version>

    <type>pom</type>

</dependency>

更新:


我發(fā)布此更新是為了添加我原來的答案中缺少的州的示例。使用該類groovy.lang.Binding,您可以將狀態(tài)保存在變量中并稍后在程序中使用它。下面給出一個示例:


import groovy.lang.Binding;

import groovy.lang.GroovyShell;

import groovy.util.Eval;


public class Goovy123 {

    public static void main(String[] args) throws InterruptedException {

        Binding binding = new Binding();

        String foo="foo";   

        binding.setVariable("foo", foo);

        GroovyShell shell = new GroovyShell(binding);

        System.out.println("Original state: "+binding.getVariable("foo"));

        shell.evaluate("foo=foo.toUpperCase();");

        System.out.println("Changed state: "+binding.getVariable("foo"));

    }

}


查看完整回答
反對 回復(fù) 2023-11-10
  • 1 回答
  • 0 關(guān)注
  • 147 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號