我有一個頁面接受來自用戶的參數。我在使用params.playerId的操作中讀取了這個參數。然後用它進行計算。閱讀屏幕上輸入的參數
我已經改變了我的用戶界面,並正在使用extJS進行顯示。 因此我有一個編輯和一個editData操作。 editData操作具有運行sql並執行相應的js文件並顯示edit.jsp的代碼。但是,在editData操作中,當我使用params.playerId時,我得到一個空值。
什麼可以成爲這種情況下的工作?
我的代碼在與extJS集成之前調用:列表動作被調用,list.gsp與數據一起顯示。
DEF列表= {
DEF會話= sessionFactory.getCurrentSession() 高清結果=執行Session.createSQLQuery( 「選擇從w.music player_id其中player_id =(params.playerId)」)列表();
DEF tuneInstanceList =新的ArrayList()
DEF調=新調諧()
result.each
{ tune.playerId =它
tune.playerPrice = 「100」 tuneInstanceList.add(樂曲)
} [recoveryInstanceList:recoveryInstanceList]
}
現在,當我與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 2010-11-09 07:45:59