これは私が私の質問を解決するために何をやったかである:
FI:Imがプレイフレームワーク2.5.Xに取り組んで:
の1-ビュー(ボタン)
<button type="button" class="btn btn-primary btn-xs" onclick="JS_ADD(this,'Add ALIAS')"><i class="fa fa"></i>Save</button>
2ビュー(テーブル)
<table class="myTable" id="myTable" cellspacing="0">
<tbody>
<tr>
<th scope="col">Code</th>
<th scope="col">Description</th>
<th scope="col">Actions</th>
</tr>
@for(al <- parameterModel.alias){
<tr>
<th scope="row" class="spec"><input type="checkbox" name="id" class="minimal" value="@al.id"></th>
<td><input type="text" name='name' value='@al.name' placeholder='Name' class="form-control"/></td>
<td></td>
</tr>
}
</tbody>
</table>
、3- Javascriptが
POST /parameters/alias/:id controllers.ParametersController.jsonAlias(id:Long)
(AJAXからURLをリダイレクトするルータ)
function JS_ADD(elem,callurl)
{
if(callurl == 'Add ALIAS')
{
var parameterID = document.getElementById('parameterID').value;
var newFormData=[];
jQuery('#myTable tr:not(:first)').each(function(i){
var tb=jQuery(this);
var obj={};
tb.find('input').each(function(){
obj[this.name]=this.value;
});
// obj['row']=i;
newFormData.push(obj);
});
$.ajax
({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "/parameters/alias/"+parameterID,
data: JSON.stringify(newFormData),
success: function(data)
{
if(data.error) return;
$(document).ajaxStop(function() { location.reload(); });
}
});
}
}
、4-コンファレンスルートを(JSに我々はコントローラにJSONとして編集可能な表を送信ゴナ) 5最後にコントローラに新しい値を追加するかどうかを指定します。
public Result jsonAlias(Long parameterID)
{
JsonNode json = request().body().asJson();
ObjectMapper objectMapper = new ObjectMapper();
try {
List<Alias> list = objectMapper.readValue(json.toString(),TypeFactory.defaultInstance().constructCollectionType(List.class, Alias.class));
for(Alias x : list)
{
//Update
if(x.id != null)
{
Alias a = Alias.find.byId(x.id);
a.name = x.name;
a.parameters = Parameters.find.byId(parameterID);
a.update();
}
//Insert
else
{
Alias a = new Alias();
a.id = null;
a.name = x.name;
a.parameters = Parameters.find.byId(parameterID);
a.save();
}
}
} catch (IOException e) {e.printStackTrace();}
return GO_HOME;
}
--->そして、私はコントローラにVIEWから送られた私のJSONデータを解析するために探していた方法はこれです:
List<Alias> list = objectMapper.readValue(json.toString(),TypeFactory.defaultInstance().constructCollectionType(List.class, Alias.class));
もあなたのモデルでこれを追加することを忘れないようにしてみてください。
を
//private List<Alias> listalias;
import io.ebean.Finder;
@Entity
@Table(name = "alias")
public class Alias extends Model
{
@Id
public Long id;
@Constraints.Required
@Formats.NonEmpty
public String name;
@ManyToOne
public Parameters parameters;
// This List will take Json as Object Model
private List<Alias> listalias;
public static final Finder<Long, Alias> find = new Finder<>(Alias.class);
}
私たちはあなたにpojoを書いて欲しいですか?ドキュメンテーションを勉強している間、あなたは正確に何を理解しませんでしたか? – baao
私はこのXMLを、ebeanモデル(データベース)にラインで入れることができるものに変換することが可能であることを確認しようとしています。 –