List of usage examples for org.apache.wicket.protocol.http.servlet ServletWebRequest getPostParameters
@Override
public IRequestParameters getPostParameters()
From source file:org.wicketstuff.js.ext.data.ExtJsonStore.java
License:Apache License
public ExtJsonStore(List<ExtDataField> fields) { super(fields); behavior = new AbstractAjaxBehavior() { private static final long serialVersionUID = 1L; @Override/*from w ww .j ava2 s. co m*/ public void onRequest() { final RequestCycle requestCycle = RequestCycle.get(); ServletWebRequest request = ((ServletWebRequest) requestCycle.getRequest()); String xaction = request.getPostParameters().getParameterValue("xaction").toString(); try { IRequestHandler requestTarget; if ("create".equals(xaction)) { requestTarget = processRecords(request, CREATE_RECORDS, "Created record(s)"); } else if ("update".equals(xaction)) { requestTarget = processRecords(request, UPDATE_RECORDS, "Updated record(s)"); } else { if (!"read".equals(xaction)) { throw new WicketRuntimeException("Unknown action " + xaction); } requestTarget = readRecords(); } requestCycle.scheduleRequestHandlerAfterCurrent(requestTarget); } catch (JSONException e) { throw new WicketRuntimeException("JSON error while processing action '" + xaction + "'", e); } } }; }
From source file:org.wicketstuff.js.ext.data.ExtJsonStore.java
License:Apache License
private IRequestHandler processRecords(ServletWebRequest request, Action action, String successMsg) throws JSONException { JSONArray records = new JSONArray(); String recordStr = request.getPostParameters().getParameterValue(JSON_PROP_RECORDS).toString(); JSONTokener tokener = new JSONTokener(recordStr); try {//from w w w .java 2 s . c o m if (recordStr.startsWith("[")) { JSONArray values = new JSONArray(tokener); for (int i = 0; i < values.length(); i++) { JSONObject record = values.getJSONObject(i); processRecord(action, record, records); } } else { JSONObject record = new JSONObject(tokener); processRecord(action, record, records); } return new ExtJsonRequestTarget(createResponse(true, successMsg)); } catch (ActionFailedException e) { return new ExtJsonRequestTarget(createResponse(false, e.getMessage())); } }