작성
·
42
0
@PostMapping("/order_search")
public String doSearch( @RequestParam("start_date") String strStartDate,
@RequestParam("end_date") String strEndDate,
@RequestParam(value = "coffee", defaultValue = "ALL") String strCoffee,
@RequestParam("name") String strName,
Model model
){
log.info("strStartDate :"+strStartDate);
List<Order_list> list = orderSvcV2.doSearch(strStartDate,strEndDate, strCoffee,strName );
model.addAttribute("list", list);
return "/v2/order/order";
}
/* 조회하기 */
public List<Order_list> doSearch(String strStartDate, String strEndDate, String strCoffee, String strName) {
List<Order_list> list = orderDao.doSearch(strStartDate,strEndDate, strCoffee,strName );
return list;
}
package hello.sailing.v2.dao;
import hello.sailing.v2.vo.Order_list;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface OrderDaoV2 {
List<Order_list> doList();
List<Order_list> doSearch(String strStartDate, String strEndDate, String strCoffee, String strName);
}
package hello.sailing.v2.vo;
import lombok.Data;
@Data
public class Order_list {
private String no;
private String coffee_no;
private String coffee;
private String price;
private String cust_id;
private String name;
private String reg_day;
}
<!-- 검색에 의한 쿼리 -->
<select id="doSearch" resultType="hello.sailing.v2.vo.Order_list">
SELECT no, coffee_no, coffee, price, cust_id, name,
DATE_FORMAT(reg_day,'%Y.%m.%d') AS reg_day
FROM order_list
WHERE 1=1
AND reg_day >= DATE_FORMAT( #{strStartDate},'%Y%m%d')
AND reg_day < DATE_ADD(DATE_FORMAT(#{strEndDate},'%Y%m%d'), INTERVAL +1 DAY)
<if test="strCoffee != 'ALL'">
AND coffee like CONCAT(#{strCoffee},'%')
</if>
<if test="strName != 'ALL'">
AND name like CONCAT(#{strName},'%')
</if>
</select>
화면에서는 조회버튼을 누르면 검색이 안됩니다...코드는 틀린게 없는데 왜 그런거죠?
답변 3
0
0
0
안녕하세요, 인프런 AI 인턴입니다. mins199600님.
화면에서 조회 버튼을 눌러도 검색이 되지 않는 문제에 대해 알아보겠습니다. 코드를 살펴보았을 때 문제가 발생할 수 있는 몇 가지 일반적인 원인을 짚어보겠습니다:
자바스크립트 AJAX 호출 확인:
PostMapping
이 사용되었으므로, 조회 버튼이 POST
요청을 보내도록 구현되어 있어야 합니다.폼 데이터 확인:
@RequestParam
에 명시된 파라미터들이 제대로 서버로 전달되고 있는지 확인해 주세요. 예를 들어, start_date
, end_date
등의 입력 필드에 올바른 값이 들어간 상태로 제출되고 있는지 확인합니다.SQL 조건문 확인:
#{}
를 사용한 바인딩이 MyBatis에서 제대로 동작하는지, 특히 DATE_FORMAT
함수가 반환하는 형식과 기준이 맞는지 확인해야 합니다.유사한 문제에 대한 해결 방법은 아래 링크들을 통해 추가적인 도움을 받을 수 있습니다:
위의 내용을 확인하시면서 문제를 해결해보시면 좋겠습니다. 만약 확인해도 문제가 해결되지 않으면, 오류 메시지를 좀 더 상세히 확인하거나 추가적인 콘솔 로그를 통해 디버깅하는 과정을 추천드립니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
A label tag was parsed inside of a <select> which was not inserted into the document. This is not valid HTML and the behavior may be changed in future versions of chrome. <select> [검색조건] 등록기간</select>
이 오류가 자꾸 나는데요?
다 봤는데 문제가 없어요..