jsp頁面中怎么利用a標簽的href進行傳遞參數以及需要注意的地方


jsp頁面中:

<a href="${pageContext.request.contextPath }/infoController/getProductInfo?productIdStr=<%=image.getProductId() %>"><%=product.getName() %></a>

這是正確寫法。

需要注意的地方:

1、傳遞的參數是數字

  <a href="${pageContext.request.contextPath }/infoController/getProductInfo?productIdStr=<%=image.getProductId() %>"><%=product.getName() %></a>

2、傳遞的參數是字符串

  <a href="${pageContext.request.contextPath }/infoController/getProductInfo?productIdStr='<%=image.getProductId() %>'"><%=product.getName() %></a>

  注意多了個單引號''

后台直接用request.getParameter("productIdStr"); 接收就可以了。

此處也有要注意的地方:

  接收后要進行判空,否則會報類型轉換錯誤:java.lang.NumberFormatException: For input string: ""

以下是正確代碼參考:

package com.yq.cn.controller;

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

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

import com.yq.cn.dao.entity.Product;
import com.yq.cn.service.IProductService;

@Controller
@RequestMapping("/infoController")
public class InfoController {

    @Autowired
    private IProductService productService;
    @RequestMapping("/getProductInfo")
    public String getProductInfo(HttpServletRequest request,HttpSession session) {
        String productIdStr = request.getParameter("productIdStr");
        if (productIdStr != null && !productIdStr .equals("")) {
            System.out.println("===="+productIdStr);
            Long productId = Long.parseLong(productIdStr);
            Product product = productService.getproductInfo(productId);
            session.setAttribute("product", product);
        }
        return "info";
    }
    
}

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM