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

标签 java jakarta-ee web-applications velocity

我有一个正在使用速度的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/

相关文章:

java - 为什么以某种方式使用日历时会出现 "Cannot return a void result"?

java - 上传到服务器时从APK获取信息

java - 学习 Criteria 而不是 hql,如何使用对象列表使用条件进行查询?

java - JSF 模板文件的显式目录

java - 为什么 httpServletRequest.getLocalPort 总是返回与 getServerPort 相同的值?

java - 无需解压即可预览 .7z 内容和子文件夹

java - Java 控制台挂起的原因

java - 即 11 : Error while sending Multipart Form Data request: Stream ended unexpectedly

java - 配置 Web 应用程序以在 JBoss 7 中显示索引页面(使用 Maven)

web-applications - 限制 FatFractal 登录访问