struts自定义标榜 下拉标签(字典表)-----------完成全步骤

--主---表       库设计table 001
                 字段 Id            int      nonull
                         userName      varchar   null
                         password      varchar   null
                        role_id       varchar   null

--从---表      库设计table 002 Role字典表
                  字段 Id            int      nonull      
                           Name      varchar   null





/**********************************/
辅助类
/#############写有id,name属性的DTO----------------------UtilDto
package com.zhuqiufa.struts.dto;

public class UtilDto {
    //ID
private String id;

//Name
private String name;

public String getId() {
   return id;
}
public void setId(String id) {
   this.id = id;
}
public String getName() {
   return name;
}
public void setName(String name) {
   this.name = name;
}

}





/*******************************/
辅助类---------------------函数nullToStr--------参数不传NULL

/######
PUtil.nullToStr
package com.dd.struts.util;
import java.util.Stack;
public class PUtil {

/*
* 字符串不为null
*/
   public static final String nullToStr(String str)
{
   if(str==null)
   {
    str="";
   }
  
   return str;
   
   }

}




/**********************************/
/#####RoleTag标签类
RoleTag.java
package com.dd.struts.util;
import java.util.List;import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.TagSupport;
import com.dd.struts.dto.UtilDto;
  
public final class RoleTag extends TagSupport {

//属性名
private String name="role_id";

//属性值
private String value=null;

public String getName() {
   return name;
}
public void setName(String name) {
   this.name = name;
}
public String getValue() {
   return value;
}
public void setValue(String value) {
   this.value = value;
}



public int doEndTag() throws JspException {
  
   JspWriter out=pageContext.getOut();
   try {
   
    out.println("<SELECT style=\"FONT-SIZE: 12px; FONT-FAMILY: MS Gothic\" name=\""+ getName() + "\" id=\""+ getName() + "\">");
    if ("".equals(PUtil.nullToStr(getValue())))
     out.println("<OPTION selected></OPTION>");
    else {
     out.println("<OPTION value=\"\"></OPTION>");
    }
   
    //取Role字典列表
    List Rlist=TagUtil.RoleList();
    if(Rlist!=null)
    {
     int len=Rlist.size();
     UtilDto UDto=null;
     for(int i=0;i<len;i++) {
      UDto=(UtilDto)Rlist.get(i);
      if(PUtil.nullToStr(getValue()).equals(UDto.getId())){
      
       out.println("<OPTION value="+UDto.getId()+" selected>"+UDto.getName()+"</OPTION>");
       continue;
      }  
      out.println("<OPTION value="+UDto.getId()+">"+UDto.getName()+"</OPTION>");
   
     }
    }
   
    out.println("</SELECT>");

   }
   catch(Exception ex){
    throw new JspException("IOException"+ex.toString());
   
   }
  
   return super.doEndTag();
}

}       




/****************************
TagUtil.RoleList------------取Role列表数据库操作    
     
package com.dd.struts.util;
import java.util.ArrayList;
import java.util.List;
import cn.gov.core.server.pm.IPersistenceManager;
import cn.gov.core.server.pm.PersistenceException;
import cn.gov.core.server.pm.util.PersistenceUtil;
import com.ewansoft.struts.utils.Constants;


public class TagUtil {


/*
* 取角色字典getRoleList
*/


public static List RoleList() {

   IPersistenceManager pm = PersistenceUtil.getPM(Constants.DATA_SOURCE);
   try {
    //取得Role字典表列表
    return pm.queryForList("RoleList" , null);
   } catch (PersistenceException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }
   return new ArrayList();
}

}





/*******************************
提取RoleList字典列表sql语句 -------XML配置

---------------------------------TestTag.xml


<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd">

<sqlMap namespace="Dict">

<resultMap /><br>
    <app:area/>
    <html:submit/>
   </html:form>
</body>
</html>


           




---------------------------



这是本人从制作到应用--------页面数据到数据库得到数据全过程----------测试成功
--------------------------

 

相关文章:

  • 2021-06-30
猜你喜欢
  • 2021-08-07
  • 2022-12-23
  • 2022-12-23
  • 2021-12-31
  • 2022-02-09
  • 2021-10-14
  • 2022-12-23
相关资源
相似解决方案