Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用超链接在jsp中类型转换变量_Jsp_Casting_Hyperlink - Fatal编程技术网

使用超链接在jsp中类型转换变量

使用超链接在jsp中类型转换变量,jsp,casting,hyperlink,Jsp,Casting,Hyperlink,我正在JSP中创建一个超链接 <c:url var="viewweeklycertificationdetailsinquiry" value="/cwedetailsLink.do"> <c:param name="forwardName" value="weeklycertificationdetailsinquiry" /> <c:param name="cweId" value="${WorkSearchDetailsForm.cweID}" /&g

我正在JSP中创建一个超链接

<c:url var="viewweeklycertificationdetailsinquiry" value="/cwedetailsLink.do">
  <c:param name="forwardName" value="weeklycertificationdetailsinquiry" />
  <c:param name="cweId" value="${WorkSearchDetailsForm.cweID}" />
  <c:param name="claimId" value="${cininqform.claimId}" />
</c:url>

<tr>                                                                 
 <td>
  <html:link href="${viewweeklycertificationdetailsinquiry}">
     <bean:message key="access.cin.inq.monetary.view.weeklycertificationfilingdetails" />   
  </html:link>
 </td>  
</tr>
现在,当我点击超链接时,我得到了异常

java.lang.NumberFormatException: For input string: ""
    at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
    at java.lang.Long.parseLong(Long.java:431)
    at java.lang.Long.<init>(Long.java:678)
    at gov.state.uim.cin.struts.inq.WeeklyCertificationDetailsInquiryAction.load(WeeklyCertificationDetailsInquiryAction.java:107)
    at gov.state.uim.framework.struts.CustomRequestProcessor.processLoadActionPerform(CustomRequestProcessor.java:681)
    at gov.state.uim.framework.struts.CustomRequestProcessor.processload(CustomRequestProcessor.java:610)
    at gov.state.uim.framework.struts.CustomRequestProcessor.processForwardConfig(CustomRequestProcessor.java:518)
    at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:229)
    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
    at gov.state.uim.framework.struts.CustomActionServlet.process(CustomActionServlet.java:130)
    at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
java.lang.NumberFormatException:用于输入字符串:“
位于java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
位于java.lang.Long.parseLong(Long.java:431)
位于java.lang.Long。(Long.java:678)
在gov.state.uim.cin.struts.inq.WeeklyCertificationDetailsInquiryAction.load上(WeeklyCertificationDetailsInquiryAction.java:107)
位于gov.state.uim.framework.struts.CustomRequestProcessor.processLoadActionPerform(CustomRequestProcessor.java:681)
位于gov.state.uim.framework.struts.CustomRequestProcessor.processload(CustomRequestProcessor.java:610)
位于gov.state.uim.framework.struts.CustomRequestProcessor.processForwardConfig(CustomRequestProcessor.java:518)
位于org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:229)
位于org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
位于gov.state.uim.framework.struts.CustomActionServlet.process(CustomActionServlet.java:130)
位于org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
我必须在JSP中键入变量吗?如果是,怎么做

java.lang.NumberFormatException: For input string: "" 
当传递空字符串或传递给
Long
构造函数的字符串不可解析为Long时,将引发

因此,在您的示例中,
cweId
claimId
可能为null或空。最好使用一个条件来符合它,更改为:

Long cweId = null;
Long claimId = null;

String cweIdStr = request.getParameter("cweId");
String claimIdStr = request.getParameter("cweId");

if(cweIdStr!=null && !cweIdStr.isEmpty())       
    cweId = new Long(cweIdStr);
if(claimIdStr!=null && !claimIdStr.isEmpty())
    claimId = new Long(claimIdStr);

另见:


检查我下面的答案。通过添加检查,可以确保不会发生nullpointerexception。我检查了打字,这很有效。无论如何,谢谢你的回复。
Long cweId = null;
Long claimId = null;

String cweIdStr = request.getParameter("cweId");
String claimIdStr = request.getParameter("cweId");

if(cweIdStr!=null && !cweIdStr.isEmpty())       
    cweId = new Long(cweIdStr);
if(claimIdStr!=null && !claimIdStr.isEmpty())
    claimId = new Long(claimIdStr);