blog

デモ例 - アクションインターフェースとカスタムHTMLページ

アクションクラスにはアノテーションがあり、アクションのメソッドにはアノテーションがあります。 アノテーションされたメソッドの設定は、開発ガイドのバックグラウンドメニューに表示され、呼び出すことができま...

Mar 21, 2020 · 3 min. read
シェア

テストプロジェクト

試験

バックエンドテストアドレス: admin 123456

action

アクションクラスのメソッドは、インターフェイス

アクションクラスは、アクションのメソッドと同様にアノテーションされています。

@ActionMeta(name="demoIndex",title="demoホーム")
public class IndexAction extends ManageAction {
	private String p1;
	private Integer t1;
	
	@DocumentMeta(
		method=@DocumentMethodMeta(title="ホーム ",description="ホームページに必要なデータを取得する"),
		params= {
			@DocumentParamMeta(name="p1",type=FieldType.STRING,length=20,description="p1説明"),
			@DocumentParamMeta(name="t1",type=FieldType.INT,description="t1説明")
		}
	)
	public JSONMessage getIndexData(){
		JSONMessage result=new JSONMessage();
		try {
			if(StringUtil.isSpace(p1)) throw new MException(this.getClass(),"p1パラメータを空にすることはできない");
			Map<String,Object[]> data=new HashMap<String,Object[]>();
			data.put("data1",new Object[] {p1,t1});
			result.push("data",data);
			result.push("code", 0);
		}catch(Exception e) {
			e.printStackTrace();
			result.push("code", 1);
			result.push("msg", e.getMessage());
		}
		return result;
	}
 ... プロパティの取得と設定...
}

アノテーションを設定するメソッドは、バックエンドメニューの開発者ガイドに表示されます。

actionインターフェイスの戻り値の型

一般的に使用される戻り値の型はJSONMessageですが、マップやリストを返すこともでき、json形式に変換されます。

カスタムページ

保管場所とアクセス方法

src/main/resources/pageソースファイルは.

WEB-INF/classes/pageディレクトリは .

src/main/resources/page/demo/index.htmlデモのカスタムページの場所は

<page> <!-- htmlタグ付けされた> </page> <script> (function(){ return { //vueオブジェクトのプロパティ data(){ return { //key:'', //openKey:'', }; }, methods:{ backHandler:function(success,msg){//フォームのコールバックを開く } } }; })(); </script> アクセス方法.このページをメニューに追加しました

カスタムページ構造

<page>
 <!-- htmlタグ>
</page>
<script>
(function(){
 return { //vueオブジェクトのプロパティ
 data(){
 return {
 //key:'',
 //openKey:'',
 };
 },
 methods:{
 backHandler:function(success,msg){//フォームのコールバックを開く
 }
 }
 };
})();
</script>

カスタムページメソッド

バックエンドへのリクエスト方法

$.execJSON('action/demoIndex/getIndexData',{'p1':' ','t1':12345},(function(json){
 if(json.code==0){
 this.indexData=json.data;
 }else{
 this.$Message.info(json.msg);
 }
}).bind(this));

注釈付きページやカスタムページを参照するメソッド

$.loadVuePage("#chart_div","action/demoDemo/toChart",{method:'demoChart',openKey:this.key});
Read next

LeetCodeの問題解決:70.階段昇降、DPトラバーサル、変数のキャッシュ結果、JavaScript、詳細なコメント

元の質問へのリンク\n解決策のアイデア\n\n/**\n * @param {number} n\n * @return {number}\n */\nvar = function {\n let

Mar 21, 2020 · 1 min read