Struts - <ロジック:空>

Struts – およびの例

この例をダウンロード–Struts-Logic-Empty-NotEmpty-Example.zip

Struts は、指定されたプロパティがnull、長さゼロの文字列、または存在しない場合にのみ実行されます。 Struts は反対の方法を実行しています。 条件が一致すると、タグの本文が実行されます。

Struts およびの使用を示す例は、次の3つのリストでテストします。

  1. listMsg0 –リストには値が含まれます。

  2. listMsg1 –空のリスト。

  3. listMsg2 –存在しないリスト

LogicExampleAction.java

package com.example.common.action;

import java.util.ArrayList;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

public class LogicExampleAction extends Action{

    public ActionForward execute(ActionMapping mapping,ActionForm form,
        HttpServletRequest request,HttpServletResponse response)
        throws Exception {

        //listMsg0 - A list contains values
        List listMsg0 = new ArrayList();

        listMsg0.add("Message A");
        listMsg0.add("Message B");
        listMsg0.add("Message C");
        listMsg0.add("Message D");

        request.setAttribute("listMsg0", listMsg0);

        //listMsg1 - An empty list
        List listMsg1 = new ArrayList();
        request.setAttribute("listMsg1", listMsg1);

                //listMsg2 - A list which is doesn't exists

        return mapping.findForward("success");
    }

}

LogicExample.jsp

Struts - Test 







     (adsbygoogle = window.adsbygoogle || []).push({});

listMag0 is empty



    listMag1 is empty



    listMag2 is empty


Struts - Test 


    listMag0 is not empty


        List Messages 0 -






    listMag1 is not empty


        List Messages 1 -





    listMag2 is not empty


        List Messages 2 -

struts-config.xml




  

     

        

    

  

結果

Struts-logic-empty-notempty-example

In Struts – Test <logic:empty>、listMsg1とlistMsg2のみが表示されます。これは、listMag1が空のリストであり、listMag2がまったく存在しないためです。

In Struts – Test <logic:notEmpty>、これが値を含む唯一のリストであるため、listMsg0のみが表示されます。