Доступ к переменным действия HashMap с использованием JSONObject в файле JSP - PullRequest
1 голос
/ 02 января 2012

Я работаю с Struts2 с классом действий Java и просмотра JSP файла.

В классе My Action есть переменная с именем:

HashMap<Integer, Boolean>  pcksHavingFet;
List<pck> pcks;
int fet;

В pcks у меня есть список pck с первичным ключом pckId. У меня есть функция кода в классе действий, которая оценивает pcks и назначает истину / ложь, основываясь на том, если pck не связан с fet в базе данных. Таким образом, мы получаем полностью оцененное выражение для карты pcksHavingFet.

//Code that evaluates and set pcksHavingFet varaible. 
//Create A JSON Object to access this Map variable in JSP.
public void function()
{
// code to populate pcksHavingFet with key/value pair.
//e.g, pcksHavingFet  = {1:true, 2:fALSE, 6:TRUE, 17:false, 11:true .....}

//Create JSON Object to access Map in JSP file
JSONObject jasonfeat = new JSONObject();
jasonfeat.accumulateAll(pcksHavingFet  );
}

В файле Jsp,

Мне нужен доступ к этой переменной карты pcksHavingFet.

Я использую функцию ниже, чтобы показать / скрыть раскрывающийся список fetDropdown, основанный на pckId. Значение true / false, рассчитанное по карте pcksHavingFet.

function pcksOnChange(pckId)
{ 
var pcksHavingFet = <ww:property value="pcksHavingFet "/> ;
<ww:set name="pcksHavingFet" value="%{JSONObject.fromObject(pcksHavingFet)}">
</ww:set>
fetDropdown.style.display = (pcksHavingFet [pckId]) ? "" : "none";
}

Но я могу видеть заполненные значения в своем классе действий для переменных pcksHavingFet. Но в файле JSP, не может получить к нему доступ, хотя. Это как пустая карта.

Пожалуйста, помогите мне в успешном доступе к этой переменной. Это будет помощь gr8. Я новичок в JSON, пожалуйста, разработайте ваше предложение / помощь.

Заранее спасибо.

1 Ответ

0 голосов
/ 02 января 2012

Почему вы не используете Struts2 Build в механизме для обработки JSON.Struts2, предоставьте [Json-plugin]. 1

Плагин JSON входит в состав Struts начиная с 2.1.7 +

Все, что вам нужно сделать, это добавить jar jar плагина в ваш путь к классу, и вам нужно расширить json-default вместо стандартных стоек, и вы готовы идти.

Предлагаем вам прочитать страницу плагина для деталей и примера, как работать с JSON внутри Struts2

  1. Strus2-Json

просто как примечание ww представляет веб-работу, которая теперь объединена со Struts2, так что немного понятнее использовать теги-псевдонимы как s вместо ww, но конечный выбор - все твое.

Когда вы задаете вопрос о Struts2, лучше пометить их Struts2, а не Struts:)

...