gpt4 book ai didi

java - 使用一个类中的变量到另一个java中

转载 作者:行者123 更新时间:2023-12-01 15:11:49 25 4
gpt4 key购买 nike

我有一个正在使用速度的java应用程序。我通过使用 ureq.getParameter() 方法提取的 url 在第一页中获取两个变量。其他类之一具有速度容器,我需要将变量之一从 url 发送到该速度容器。我尝试在第二个类中创建第一个类的实例,并使用 getVariable name 方法来执行此操作,但它不起作用。有人可以告诉我如何做到这一点吗?

第 1 类:

package org.olat.dispatcher;

import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.olat.core.gui.UserRequest;

public class RemoteLoginformDispatcher implements Dispatcher {

private static final String PARAM_newUrl = "ret";
private static String newURL;

@Override
public void execute(
final HttpServletRequest request,
final HttpServletResponse response,
final String uriPrefix) {

UserRequest ureq = null;

try {
ureq = new UserRequest(uriPrefix, request, response);
newURL = ureq.getParameter(PARAM_newUrl);
} catch () {
}

}

public String getURL(){
return newURL;
}

}

第 2 类:

public class BaseChiefController extends DefaultChiefController implements ContentableChiefController {
//Velocity container mainvc created here. It interacts with a html file. Removed the code that would not really matter

//mainvc.contextPut("newURL", "something");
//The below statement works. When I try with something, the something appears in the html file.
mainvc.contextPut("newURL", myLogin.getURL());

}

最佳答案

要创建另一个类的实例,只需创建一个“public CLASSNAME”方法,并在内部使用“this”修饰符定义所有类变量。然后,从该方法中调用您想要使用的函数,当您想使用该类时,只需执行“new CLASSNAME(args);”

尽管如此,我不确定我是否理解你的问题。

也许这就是你的答案。您可以通过将变量设为静态,然后执行“CLASSNAME.VARIABLENAME = WHATEVER”,将变量从一个类使用到另一类。

<小时/>

编辑:

好吧,据我所知,您正在使用一种方法从类返回静态值,这比仅执行“newURL”(RemoteLoginformDispatcher.newURL); 慢得多。为什么不尝试这个,因为它可能更快,而且如果定义了 newURL,它应该总是有效。否则,您会遇到不同的问题,并且 newURL 没有被定义。如果是这种情况,请尝试打印捕获的异常。

关于java - 使用一个类中的变量到另一个java中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12241188/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com