Как установить значение переменной JSTL в сценарии Java?
<script>
function function1()
{
var val1 = document.getElementById('userName').value;
<c:set var="user" value=""/> // how do i set val1 here?
}
</script>
Как я устанавливаю 'пользовательскую' переменную (JSTL) значение от 'val1' (сценарий Java)?
Вы должны использовать обычную конкатенацию строк, но вы должны убедиться, что значение является допустимой строкой XML, вы найдете хороший способ писать XML в этом источнике http: / /oreilly.com/pub/h/2127, или, если хотите, вы можете использовать API в javascript для записи XML как, например, helma .
Это невозможно, потому что они выполняются в разных средах (JSP на стороне сервера, JavaScript на стороне клиента). Поэтому они не выполняются в той последовательности, которую вы видите в коде.
var val1 = document.getElementById('userName').value;
<c:set var="user" value=""/> // how do i set val1 here?
Здесь JSTL код выполняется на стороне сервера, и сервер видит JavaScript/Html коды как простые тексты. Сгенерированное содержимое JSTL-кода (если таковое имеется) будет отображено в результирующем HTML вместе с другими JavaScript/HTML-кодами. Теперь браузер отображает HTML вместе с выполнением кодов Javascript. Помните, что для браузера не существует JSTL-кода.
Теперь, например,
<script type="text/javascript">
<c:set var="message" value="Hello"/>
var message = '<c:out value="${message}"/>';
</script>
Теперь для браузера отображается следующее содержимое,
<script type="text/javascript">
var message = 'Hello';
</script>
Надеюсь, это поможет.