Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Вставка JavaScript в JSON


Автор: Molodec 25.10.2011, 09:22
Добрый день, господа! 
Столкнулся с проблемой. Пользуюсь jqgrid для построения таблиц. 
Так вот, решил формирование соурса, для него переложить на Java. 
Выходит, делаю примерно так:
Код

import org.apache.tapestry5.json.JSONArray;
import org.apache.tapestry5.json.JSONObject;

Код

        JSONObject grid = new JSONObject();
        grid.put("url", "EduProcPlanningServlet?type=1");
        grid.put("datatype", "json");
        JSONArray colNames = new JSONArray();
        colNames.put(messages.get(pe + "KATDCode"));
        colNames.put(messages.get(pe + "KnowledgeAreaOrTrainingDirection"));
        colNames.put(messages.get(pe + "Code"));
        colNames.put(messages.get(pe + "Code2"));
        colNames.put(messages.get(pe + "TrainingTerm"));
        colNames.put(messages.get(pe + "Qualification"));
        colNames.put(messages.get(pe + "IntroducingDate"));

Все бы хорошо, но есть момент:
Код

        grid.put("onSelectRow:", "function(ids) {"
                + "if(ids == null) {"
                + "ids=0;"
                + "if(jQuery(\"#edu-plan-discipline-cycle-table\").jqGrid('getGridParam','records') >0 ){"
                + "jQuery(\"#edu-plan-discipline-cycle-table\").jqGrid('setGridParam',{url:\"EduProcPlanningServlet?type=2&id=\"+ids});"
                + "jQuery('#edu-plan-discipline-cycle-table').jqGrid('setCaption',\"Invoice Detail: \"+ids)"
                + ".trigger('reloadGrid');}"
                + "} else {"
                + "jQuery(\"#edu-plan-discipline-cycle-table\").jqGrid('setGridParam',{url:\"EduProcPlanningServlet?type=2&id=\"+ids});"
                + ".trigger('reloadGrid');}}"
                + "}).navGrid('#edu-plan-table-pager',{add:false,edit:false,del:false});");

Оно то добавляется, но когда браузер это принимает код JS не выполняется, так как:
-он в кавычках
-присутствие символов "\"
Может другой импорт подключить, чтобы избавиться от этих проблем. А то уже все перепробовал...
Не помогает. 
Заранее спасибо.  

Автор: Stolzen 25.10.2011, 15:48
О ужас, не нужно так делать. Зачем это? Передавайте параметры и на стороне клиента их обрабатывайте, как обычно. 

Автор: Molodec 26.10.2011, 09:13
Stolzen, так и сделал. Спасибо. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)