我有以下代码:
ComboBox
我初始化了一个名为' mTarifId'的变量。我需要在下面的代码中使用它。
private Integer mTarifId;
public Integer getTarifId() {
return mTarifId;
}
public void setTarifId(Integer tarifId) {
this.mTarifId = tarifId;
}
但为了做到这一点,我需要将它转换为' doGet'
中的整数if (!Objects.equals(mTarifId, null)) {
query = mEntityManager.createQuery("FROM TarifListeCalendrierEntity WHERE tarifListeId=:pId")
.setParameter("pId", mTarifId);
List<TarifListeCalendrierEntity> tarifListCalendrierList = query.getResultList();
if (!tarifListCalendrierList.isEmpty()) {
TarifListeCalendrierEntity tarifListCalendrier = tarifListCalendrierList.get(0);
request.setAttribute("tarif_list_calendrier", tarifListCalendrier);
}
}
请帮助确定我做错了什么。
答案 0 :(得分:0)
每次执行其他条件时,为什么它为空。
String tarifId = request.getParameter("tarifid");
if (tarifId!=null)
用于将字符串转换为整数。
Integer.parseInt(String);
答案 1 :(得分:0)
如果有任何NumberFormatException,你可以使用try catch吗?
试试这个:
String tarifId = request.getParameter("tarifid");
Integer number;
try{
number = Integer.valueOf(tarifId);
} catch(NumberFormatException e){
number = 0;
}
setTarifId(number)
另外,你需要你的setTarifId()期望一个Integer,或者int可以没问题吗?
答案 2 :(得分:0)
您的实际问题是您的请求参数。可能会发生您的mTarifId甚至没有在名为 tarifid 的请求参数中设置。
您还没有提到如何设置它。因此,如果实际设置了此参数,请检查该代码。
答案 3 :(得分:0)
这就是我所需要的:
mTarifId = Integer.valueOf(request.getParameter("tarifid"));