Aipoの開発で部署などのidをjavaで受け取る方法

プルダウンなどで部署を選択した際に、その部署に含まれるデータだけを表示する箇所がいくつかありますが、これは部署の名前などをjavascriptで値を設定して、Java側でその値を受け取っています。 まずjavascriptで値を設定するにはaipo.viewPageを使います。

var baseuri=dojo.byId("baseuri_"+portlet_id).value;

    var types=[];
    var params=[];
    dojo.query("ul.filtertype_"+portlet_id).forEach(function(ul){
            //console.info(ul);
            var type=ul.getAttribute("data-type");
            types.push(type);

            var activeli=dojo.query("li.selected",ul)[0];
            if(activeli){
                var param=activeli.getAttribute("data-param");
                params.push(param);
            }else{
                params.push(ul.getAttribute("data-defaultparam"));
            }
        }
    );
    var q=dojo.byId("q"+portlet_id);
    var qs=[["filter",params.join(",")],
            ["filtertype",types.join(",")],
        ["keyword",q?q.value:""]
    ];
    aipo.viewPage(baseuri,portlet_id,qs);

aipo.viewPageの引数であるqsのfilterの値が基本的には部署などの値になります。

Java側での値を受け取るには ALEipUtils.getTempを使うことで受け取ることが可能です。


String filter = ALEipUtils.getTemp(rundata, context, LIST_FILTER_STR);