1. 程式人生 > 程式設計 >java中下拉框select和單選按鈕的回顯操作

java中下拉框select和單選按鈕的回顯操作

前提:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

1.下拉框select

<select name="departmentId" id="departmentId">
  <option value="0">請選擇部門</option>
    <c:forEach items="${departmentList }" var="department">
      <!-- 下拉框回顯 -->
      <option value="${department.id }"
        <c:if test="${department.id== departmentId}">
          selected="selected"
        </c:if>>${department.department}
      </option>
    </c:forEach>
</select>

2.單選按鈕radio的回顯

<!-- 單選按鈕的回顯 -->
<input type="radio" name="sex" value="男" title="男" class="sex" 
  <c:if test="${employee.sex==109 }">
    checked="checked"
  </c:if>
> 
 
<input type="radio" name="sex" value="女" title="女" class="sex" 
  <c:if test="${employee.sex==119 }">
    checked="checked"
  </c:if>
>

補充知識:java使用apache commons-fileupload元件實現檔案上傳(控制檔案上傳的型別、檔案上傳的大小)

1.匯入jar包

common-fileupload.jar

common-io.jar

2.jsp頁面(樣式省略)

<body>
  <form action="UploadServlet" enctype="multipart/form-data" method="post">
  使用者名稱:<input type="text" name="username" /><br> 
  上傳檔案:<input type="file" name="fileName" /><br> 
      <input type="submit" value="檔案上傳" /><br> 
  </form>
  </body>

3.建立名為UploadServlet的Servlet,並在doPost()方法中編寫實現程式碼,如下所示:

package com.upload.servlet;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Arrays;
import java.util.List;

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

import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUploadBase;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.apache.commons.io.IOUtils;

/**
 * Servlet implementation class UploadServlet
 */
public class UploadServlet extends HttpServlet {
  private static final long serialVersionUID = 1L;

  /**
   * @see HttpServlet#HttpServlet()
   */
  public UploadServlet() {
    super();
    // TODO Auto-generated constructor stub
  }

  /**
   * @see HttpServlet#doGet(HttpServletRequest request,HttpServletResponse
   *   response)
   */
  protected void doGet(HttpServletRequest request,HttpServletResponse response)
      throws ServletException,IOException {
    // TODO Auto-generated method stub
    doPost(request,response);
  }

  /**
   * @see HttpServlet#doPost(HttpServletRequest request,HttpServletResponse
   *   response)
   */
  protected void doPost(HttpServletRequest request,IOException {
    // TODO Auto-generated method stub
    request.setCharacterEncoding("utf-8");// 設定響應編碼
    // 得到上傳檔案的儲存目錄,將上傳的檔案存放於WEB-INF目錄下,不允許外界直接訪問,保證上傳檔案的安全
    String savePath = request.getServletContext().getRealPath("/WEB-INF/upload");
    // 上傳時生成的臨時檔案儲存目錄
    String tempPath = request.getServletContext().getRealPath("/WEB-INF/temp");
    File tmpFile = new File(tempPath);
    if (!tmpFile.exists()) {
      // 建立臨時目錄
      tmpFile.mkdir();
    }
    // System.out.println("檔案臨時儲存路徑1:"+tempPath);
    // 1.建立磁碟工廠
    DiskFileItemFactory factory = new DiskFileItemFactory();
    factory.setSizeThreshold(1024 * 100);// 設定緩衝區的大小為100KB,如果不指定,那麼緩衝區的大小預設是10KB
    factory.setRepository(new File(tempPath));// 設定上傳時檔案的儲存目錄

    // 2.建立檔案上傳解析器
    ServletFileUpload upload = new ServletFileUpload(factory);
    // 設定允許上傳檔案的記憶體,這裡設定為100KB,根據實際情況設定
    upload.setSizeMax(1024 * 100);

    // 3.判斷提交上來的資料是否是上傳表單的資料
    if (ServletFileUpload.isMultipartContent(request)) {
      try {
        // 4、使用ServletFileUpload解析器解析上傳資料,解析結果返回的是一個List<FileItem>集合,每一個FileItem對應一個Form表單的輸入項
        List<FileItem> list = upload.parseRequest(request);
        // 設定解析到的檔案編碼格式
        upload.setHeaderEncoding("utf-8");
        for (FileItem fileItem : list) {
          // 判斷是否檔案,結果為“true”就是普通表單,如果為“false”則是檔案
          if (fileItem.isFormField()) {
            String fileName = fileItem.getFieldName();// 獲得表單name屬性名
            System.out.println(fileItem.getString("utf-8"));// 獲取表單value值,並設定編碼方式
          } else {
            String name = fileItem.getName();// 獲取上傳檔案的名字
            // 限制上傳檔案的型別
            List<String> fileType = Arrays.asList("gif","bmp","jpg","png");//允許上傳檔案的型別
            String fileExtName = name.substring(name.lastIndexOf(".") + 1);//獲得檔案的字尾名
            //System.out.println("上傳檔案的字尾名為:"+fileExtName);
            if (!fileType.contains(fileExtName)) {
              System.out.println("上傳失敗!檔案型別只能是gif、bmp、jpg、png!");
            } else {
              InputStream input = fileItem.getInputStream();// 獲得上傳檔案位元組流

              // 建立輸出檔案
              String outPath = request.getServletContext().getRealPath(name);
              FileOutputStream output = new FileOutputStream(new File(outPath));
              // 使用IOUtils工具輸出,也就是copy檔案
              IOUtils.copy(input,output);
              System.out.println("上傳成功!");
              System.out.println("儲存的路徑為:" + outPath);
              // 關閉輸入流
              input.close();
              // 關閉輸出流
              output.close();
              // 刪除處理檔案上傳時生成的臨時檔案
              fileItem.delete();
            }
          }
        }
      } catch (FileUploadBase.SizeLimitExceededException e) {
        System.out.println("上傳失敗!上傳的檔案大小超出限制,最大隻能上傳"+upload.getSizeMax()+"bytes的檔案");
      } catch (Exception e) {
        System.out.println("上傳失敗!");
        e.printStackTrace();
      }
    } else {
      // 如果不是檔案上傳型別,則採用普通表單獲取方式
      request.setCharacterEncoding("UTF-8");
      String parameter = request.getParameter("username");
      System.out.println(parameter);
    }
  }
}

以上這篇java中下拉框select和單選按鈕的回顯操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。