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

Sruts2 ‹s:radio /› с меткой, прочитанной из файла .properties

Я переношу код из Struts1 в Struts2, где у меня есть следующий сценарий:

<html:radio property="case" value="A" onclick="radioClickA();"/>
<bean:message key="label.A"/>

<html:radio property="case" value="B" onclick="radioClickB();"/>
<bean:message key="label.B"/> 

<html:radio property="case" value="C" onclick="radioClickC();"/>
<bean:message key="label.C"/>

Поскольку в Struts2 мы должны добавить все три вышеуказанных переключателя в один список, как я могу добавить локализованную метку для каждого переключателя?


  • Поскольку в Struts2 мы должны добавить все три вышеуказанных переключателя в один список - вы можете, не означает, что вы должны. 19.11.2015

Ответы:


1

Предполагая, что A,B,C являются строками:

@Getter         private String[] cases = {"A","B","C"};
        @Setter private String case;
<s:radio name = "case" 
         list = "cases"
 listLabelKey = "%{'label.' + top}" 
      onclick = "radioClick(this.value);"
/>

Обратите внимание, что ключевое слово top предназначалось только для внутреннего использования,
и его использование может быть запрещено в будущих версиях Struts. .
Тогда вы можете использовать toString(), менее элегантный, но надежный:

<s:radio name = "case" 
         list = "cases"
 listLabelKey = "%{'label.' + toString()}" 
      onclick = 'radioClick(this.value);'
/>
19.11.2015

2

Я написал по-другому, и это сработало.

<s:radio theme = "simple" 
          name = "case" 
          list = "#{'A':getText('label.A'), 'B':getText('label.B'), 'C':getText('label.C')}" 
       onclick = "radioClick();" 
/>
19.11.2015
  • Да, это другой способ, для небольших списков я тоже его использую (но обычно только в ‹s:select /›) 19.11.2015
  • @swetha Я попробовал ваше решение, но возникла эта ошибка: org.apache.jasper.JasperException: Error on line 31, column 9 in template/simple/radiomap.ftl stack.findString(parameters.listValue) is undefined. It cannot be assigned to itemValue - Class: freemarker.core.Assignment 10.03.2017
  • Новые материалы

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

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

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

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

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

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

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