나는 velocity와 함께 동작하는 자바 애플리케이션을 가지고있다. 첫 번째 페이지에서 ureq.getParameter() 메소드를 사용하여 추출한 url을 통해 두 개의 변수를 얻습니다. 속도 컨테이너가있는 다른 클래스 중 하나이며 url의 변수 중 하나를이 속도 컨테이너로 보내야합니다. 두 번째 클래스에서 첫 번째 클래스의 인스턴스를 만들고 getVariable 이름 메서드를 사용하여 작업을 시도했지만 작동하지 않았습니다. 누군가 내가 이것을 할 수있는 방법을 말해 줄 수 있습니까?하나의 클래스에서 다른 자바로 변수를 사용하기
클래스 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());
}
* * general *에서는 한 클래스의 객체를 만들고 메소드 매개 변수를 통해 다른 클래스에 참조를 전달합니다. – adatapost
'velocityContainer.setVariable (theVariable)', 여기서'setVariable()'은 다루는 변수에 대한 적절한 설정자입니다. – moonwave99