Nano Hash - криптовалюты, майнинг, программирование

Как получить атрибут сеанса с динамическим ключом в EL?

Если я установлю сеанс следующим образом:

<% 
session.setAttribute("taintedAttribute", "what ever we want");
%>

обычно мы можем получить переменную сеанса, подобную этой, в EL

${sessionScope.taintedAttribute }

Но как насчет того, если я хочу сделать так

<% 
String name = "taintedAttribute";
//session.setAttribute(name, "what ever we want");
session.getAttribute(name);
%>

Тогда как мы можем назвать это на EL?

Может ли EL получить что-то вроде ${sessionScope.---dynamic name ---}?

Если я сделаю это:

<c:set var="name" value="taintedAttribute" />
<c:out value="${sessionScope.[name]}"/>

имя будет заменено на taintedAttribute как и в этой строке

${sessionScope.taintedAttribute}

Это возможно? Как я могу это сделать?

29.11.2011

  • как насчет того, чтобы не писать java-код в скриптлетах и ​​делать все это на стороне сервера, максимально поддерживая MVC. 29.11.2011
  • я хотел использовать только jstl на страницах jsp. Вот поэтому я и спрашиваю, как это сделать. хе-хе. мне нужен этот код, чтобы проверить этот сеанс, чтобы отобразить что-то в jsp. 30.11.2011
  • @NurAini: Дело в том, что вы вообще не должны изменять состояние приложения (включая атрибуты сеанса) в JSP. Будь то использование скриптлетов или JSTL. 30.11.2011
  • Мне жаль. Дело не в том, что я хотел изменить какое-либо состояние приложения. Я просто хотел проверить, существует ли этот атрибут сеанса или нет. Я отредактировал вопрос, потому что допустил ошибку. Я действительно хочу что-то вроде session.getAttribute(name) в jstl. 30.11.2011

Ответы:


1
<c:set var="name" value="taintedAttribute" />
<c:out value="${sessionScope.[name]}"/>

Вы были близки. Удалите период.

<c:set var="name" value="taintedAttribute" />
<c:out value="${sessionScope[name]}"/>

Смотрите также:

30.11.2011

2

Посмотрите на http://www.java2s.com/Code/Java/JSTL/JSTLSetVariablesScope.htm

<c:set var="test" value="Session Level Value"
    scope="session" />
<c:out value="${sessionScope.test}" />
29.11.2011
  • Привет, спасибо за ответ, извините, я ошибся в коде. Я отредактировал вопрос и прокомментировал неправильную строку. На самом деле я хотел написать в jstl что-то вроде session.getAttribute(name). это то, что можно сделать в jstl? 30.11.2011
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..