Итак, вы хотите оценить переменную scriptlet в EL? Сохраните его как атрибут запроса.
<%
String var = "some";
request.setAttribute("var", var);
%>
Однако это не имеет смысла. Вы должны избегать скриптлетов в целом и использовать JSTL / EL для подготовки этой переменной. Поэтому, если вы сделаете функциональное требование более понятным, например. «Как это сделать (вставить фрагмент кода scriptlet ) с помощью JSTL / EL?», Тогда мы сможем предложить правильный подход.
Например, вы могли бы используйте
, чтобы установить переменную в области EL.
Через какое-то время исследование я собрал некоторые части, которые заставили меня добраться до этого решения. Как только тот CookieSyncManager удерживается от использования, это может быть лучшим способом установить определенный cookie для webview в Kotlin в наше время, Вам не должно быть нужно ничто больше.
private fun setCookie(){
val cookieManager = CookieManager.getInstance()
cookieManager.acceptCookie()
val domain = "https://www.yourdomain.com"
webView.webViewClient = WebViewClient()
webViewTest.settings.javaScriptEnabled = true
webViewTest.loadUrl(domain)
cookieManager.setCookie(domain,"$cookieKey=$cookieValue")
cookieManager.setAcceptThirdPartyCookies(view.webViewTest,true)
}
Я хотел бы сохранить этот файл cookie сеанса в качестве предпочтения и принудительно повторно заполнить им диспетчер файлов cookie. Похоже, что файл cookie сеанса не сохранился при перезапуске действия
Я провел большую половину 3 часа, работаю над очень похожим на проблему. В моем случае у меня было ряд звонков, которые я сделал в веб-сервис с использованием Defaulhttpclient
, а затем я хотел установить сеанс и все остальные соответствующие файлы cookie в My WebView
.
Я не знаю, будет ли это решить вашу проблему, так как я не знаю, что делает ваш метод getCookie ()
, но в моем случае мне на самом деле пришлось позвонить.
cookieManager.removeSessionCookie();
Сначала для удаления сеанса cookie и затем повторно добавьте его. Я нашел, что когда я попытался установить jsessiD
cookie . Не уверен, что это поможет вам конкретную проблему, но думал, что поделился тем, что я нашел.
Спасибо justingrammens ! Это сработало для меня, мне удалось поделиться файлом cookie в моих запросах DefaultHttpClient и активности WebView:
//------- Native request activity
private DefaultHttpClient httpClient;
public static Cookie cookie = null;
//After Login
List<Cookie> cookies = httpClient.getCookieStore().getCookies();
for (int i = 0; i < cookies.size(); i++) {
cookie = cookies.get(i);
}
//------- Web Browser activity
Cookie sessionCookie = myapp.cookie;
CookieSyncManager.createInstance(this);
CookieManager cookieManager = CookieManager.getInstance();
if (sessionCookie != null) {
cookieManager.removeSessionCookie();
String cookieString = sessionCookie.getName() + "=" + sessionCookie.getValue() + "; domain=" + sessionCookie.getDomain();
cookieManager.setCookie(myapp.domain, cookieString);
CookieSyncManager.getInstance().sync();
}