为什么在jsp页面上获取的常量值都为空?
claim_voucher_deal.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<%@ page import="com.yuan.oa.global.Constant" %>
<jsp:include page="top.jsp"/>
<section id="content" class="table-layout animated fadeIn">
<div class="tray tray-center">
<div class="content-header">
<h2> 待处理报销单 </h2>
<p class="lead"></p>
</div>
<div class="admin-form theme-primary mw1000 center-block" style="padding-bottom: 175px;">
<div class="panel heading-border">
<div class="panel-menu">
<div class="row">
<div class="hidden-xs hidden-sm col-md-3">
<div class="btn-group">
<button type="button" class="btn btn-default light">
<i class="fa fa-refresh"></i>
</button>
<button type="button" class="btn btn-default light">
<i class="fa fa-trash"></i>
</button>
<button type="button" class="btn btn-default light">
<i class="fa fa-plus" onclick="javascript:window.location.href='/claim_voucher/to_add';"></i>
</button>
</div>
</div>
<div class="col-xs-12 col-md-9 text-right">
<div class="btn-group">
<button type="button" class="btn btn-default light">
<i class="fa fa-chevron-left"></i>
</button>
<button type="button" class="btn btn-default light">
<i class="fa fa-chevron-right"></i>
</button>
</div>
</div>
</div>
</div>
<div class="panel-body pn">
<table id="message-table" class="table admin-form theme-warning tc-checkbox-1">
<thead>
<tr class="">
<th class="text-center hidden-xs">Select</th>
<th class="hidden-xs">事由</th>
<th>状态</th>
<th class="hidden-xs">创建人</th>
<th class="hidden-xs">金额</th>
<th class="text-center">创建时间</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<c:forEach items="${list}" var="cv">
<tr class="message-unread">
<td class="hidden-xs">
<label class="option block mn">
<input type="checkbox" name="mobileos" value="FR">
<span class="checkbox mn"></span>
</label>
</td>
<td>${cv.cause}</td>
<td class="hidden-xs">
<span class="badge badge-warning mr10 fs11">${cv.status}</span>
</td>
<td>${cv.creater.name}</td>
<td class="text-center fw600">${cv.totalAmount}</td>
<td><spring:eval expression="cv.createTime"/></td>
<td>
//为何这里的常量值都为空(如Constant.CLAIMVOUCHER_CREATED是个空字符串)
<c:if test="${cv.status==Constant.CLAIMVOUCHER_CREATED || cv.status==Constant.CLAIMVOUCHER_BACK}">
<a href="/claim_voucher/details?id=${cv.id}">修改</a>
<a href="/claim_voucher/details?id=${cv.id}">提交</a>
</c:if>
<c:if test="${cv.status==Constant.CLAIMVOUCHER_SUBMIT || cv.status==Constant.CLAIMVOUCHER_RECHECK}">
<a href="/claim_voucher/details?id=${cv.id}">打回</a>
<a href="/claim_voucher/details?id=${cv.id}">审核</a>
</c:if>
<c:if test="${cv.status==Constant.CLAIMVOUCHER_APPROVED}">
<a href="/claim_voucher/details?id=${cv.id}">打款</a>
</c:if>
<a href="/claim_voucher/details?id=${cv.id}">${Constant.CLAIMVOUCHER_CREATED}详细信息${cv.status}</a>
</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
</div>
</div>
</div>
</section>
<jsp:include page="bottom.jsp"/>Constant.java
package com.yuan.oa.global;
import java.util.ArrayList;
import java.util.List;
//常量类
public class Constant {
//职务
public static final String POST_STAFF="员工";
public static final String POST_FM="部门经理";
public static final String POST_GM="总经理";
public static final String POST_CASHIER="财务";
//职务集合
public static List<String> getPosts()
{
List<String> list=new ArrayList<String>();
list.add(POST_STAFF);
list.add(POST_FM);
list.add(POST_GM);
list.add(POST_CASHIER);
return list;
}
//费用类型
public static List<String> getItems()
{
List<String> list=new ArrayList<String>();
list.add("交通");
list.add("餐饮");
list.add("住宿");
list.add("办公");
list.add("其他");
return list;
}
//报销单状态(不要忘了加final)
public static final String CLAIMVOUCHER_CREATED="新创建";
public static final String CLAIMVOUCHER_SUBMIT="提交";
public static final String CLAIMVOUCHER_APPROVED="已审核";
public static final String CLAIMVOUCHER_BACK="已打回";
public static final String CLAIMVOUCHER_TEAMINATED="已终止";
public static final String CLAIMVOUCHER_RECHECK="待复审";
public static final String CLAIMVOUCHER_PAID="已打款";
//审核额度
public static final double LIMIT_CHECK=5000;
//处理方式(处理状态):不要忘了加final
public static final String DEAL_CREATED="创建";
public static final String DEAL_SUBMIT="提交";
public static final String DEAL_UPDATE="修改";
public static final String DEAL_BACK="打回";
public static final String DEAL_REJECT="拒绝";
public static final String DEAL_PASS="通过";
public static final String DEAL_PAID="打款";
}33
收起
正在回答
5回答
你的现象好诡异,我测了一下也是能正常显示的。。。。我的是tomcat8.5 , jdk1.8
源自我心
2018-05-24 18:53:18
${Constant.CLAIMVOUCHER_CREATED}<c:out value="${Constant.CLAIMVOUCHER_CREATED}"/>我使用了这两种方法还是没有取出常量值,显示的依然为空。
我这里的把常量值直接改成字符串,相应的这些链接是可以显示的,比如
<td>
<c:out value="${Constant.CLAIMVOUCHER_CREATED}"/>
<c:if test="${cv.status=='新创建' || cv.status=='已打回'}">
<a href="/claim_voucher/to_update?id=${cv.id}">修改</a>
<a href="/claim_voucher/submit?id=${cv.id}">提交</a>
</c:if>
<c:if test="${cv.status=='已提交' || cv.status=='待复审'}">
<a href="/claim_voucher/to_check?id=${cv.id}">审核</a>
</c:if>
<c:if test="${cv.status=='已审核'}">
<a href="/claim_voucher/to_check?id=${cv.id}">打款</a>
</c:if>
<a href="/claim_voucher/details?id=${cv.id}">详细信息</a>
</td>但是使用常量值就不行了
SSM主流框架入门与综合项目实战2018版
- 参与学习 人
- 提交作业 205 份
- 解答问题 4317 个
Java中非常实用的SSM整合开发内容,从Spring开始,到MyBaits的进阶内容,再到SpringMVC的应用,最后是SSM整合开发案例,逐步深入,助你成长为一名Java工程师!
了解课程


恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星