У меня есть страница, которая принимает параметры от пользователя. Я прочитал этот параметр в своем действии, используя params.playerId. а затем выполнить вычисления с ним.Чтение параметров enterd на экране
Теперь я изменил свой интерфейс и использую extJS для отображения. Поэтому у меня есть действие редактирования и editData. editData action имеет код для запуска sql и выполняет соответствующий js-файл и отображает edit.jsp. Однако в действии editData, когда я использую params.playerId, я получаю нулевое значение.
Что может быть для этого сценария?
Мой код перед тем, как интегрироваться с вызовом extJS: list, и list.gsp отображается с данными.
список DEF = {
Защиту сессия = sessionFactory.getCurrentSession() Защиту результат = session.createSQLQuery ("выберите player_id из w.music где player_id = (params.playerId)") список().
Защиту tuneInstanceList = новый ArrayList()
четкость настройки = новая Настройка()
result.each
{ tune.playerId = это
tune.playerPrice = "100" tuneInstanceList.add (настройка)
} [recoveryInstanceList: recoveryInstanceList]
}
Теперь, когда я ntegrate с extJS, я получаю значение params.playerId как null. Код ниже.
list.gsp:
<% @ страница импорта = "tune.Music" %>
<script type="text/javascript">
var ds = new Ext.data.Store({
autoLoad: true,
proxy: new Ext.data.HttpProxy({
url: 'http://localhost:8080/tune/music/listData'}),
reader: new Ext.data.JsonReader({
results: 'total',
root:'items',
id:'id'
},
[
{name: 'playerId'},
{name: 'playerPrice'}
]
)
});
var cm = new Ext.grid.ColumnModel([
{header: "Player Id", width: 70, sortable:true, dataIndex: 'playerId'},
{header: "Player Price", width: 90, dataIndex: 'playerPrice'}
]);
//cm.defaultSortable = true;
// create the grid
var grid = new Ext.grid.GridPanel({
ds: ds,
cm: cm,
renderTo:'grid-example',
width:1300,
height:300
});
</script>
<div class="body">
<!--<g:javascript library="examples"/>-->
<!-- EXAMPLES -->
<h1>Ext Grid</h1>
<div id="grid-example"></div>
</div>
Мой контроллер действия:
def list={ }
def listData = {
def session = sessionFactory.getCurrentSession()
def result = session.createSQLQuery("select player_id from w.music where player_id= (params.playerId)").list();
def tuneInstanceList = new ArrayList()
result.each {
def tune = new Tune()
tune.playerId = it tune.playerPrice = "100"
tuneInstanceList.add(tune)
}
def listResult = [total: tunInstanceList.size(), items: tunInstanceList]
render listResult as JSON;
}
Как я могу получить параметры, которые были введены пользователем ??
Спасибо!
Принимая мой ответ, поскольку никаких других обходных решений не найдено. – MAlex