Kotlin挑战赛已经开始.
所有任务都是编写一个控制台程序,从控制台读取参数并将输出写入控制台以进行自动检查.
Kotlin的主要方法看起来像
fun main(args: Array<String>): Unit {
//do something
}
Run Code Online (Sandbox Code Playgroud)
任务中的大多数输入参数都应解释为数字.所以,由于缺乏像Long.valueOf(String s)我刚刚卡住的方法.我无法将String转换为Long,我感到惭愧.
我正在努力开发一项服务.
关键是我的index.xhtml应该从HTTP Request获取参数(POST和GET)和cookie.
我尝试过组合<f:metadata>并<f:event type="preRenderView">像这样:
<f:metadata>
<f:event type="preRenderView" listener="#{deConversation.start}"/>
</f:metadata>
Run Code Online (Sandbox Code Playgroud)
deConversation.start的代码:
public void start(ComponentSystemEvent event) {
System.out.println("checkLogin");
HttpServletRequest request = SsoHelper.getRequest();
String requestSessId = SsoHelper.getRequestSessionId(request);
String requestRedirect = SsoHelper.getRequestRedirect(request);
System.out.println("sessId " + requestSessId);
if (requestRedirect == null || requestRedirect.isEmpty()) {
requestRedirect = "self";
}
if (requestSessId != null) {
trySessId(requestSessId, requestRedirect);
}
externalResourcesHandler.setExternalRedirect(requestRedirect);
tryToBeginConversation();
if (!isAuthorized()) {
SsoHelper.performNavigation("auth");
}
}
Run Code Online (Sandbox Code Playgroud)
SsoHelper只提供这样的api:
public static String getRequestSessionId(HttpServletRequest request) {
Map<String, Object> cookieMap = FacesContext.getCurrentInstance().getExternalContext().getRequestCookieMap();
String requestDeSessionId = null; …Run Code Online (Sandbox Code Playgroud)