jsp 中 关于获取项目路径问题

今天调试代码的时候发现个很有意思的问题,测试了好半天也没找到原因,所以只能先记录下来了。

jsp 中代码如下:

<%@ page language="java" pageEncoding="UTF-8"%>

<!DOCTYPE html>

<html lang="en">

<head>

<%@ include file="/common/config.jsp" %>

<title>健康报告</title>

<script>

$(function(){

$("#myTab a").click(function(e){

e.preventDefault();

$(this).tab("show");

});

if($("#item").val()=="base"){

$("a[href=‘#base‘]").click();

}

getMealData();

});

/**

* 诊疗报告

*

*/

var getCauseReportData = function(){

var custId=$("#custId").val();

var id=$("#id").val();

var reportDate=$("#reportDate").val();

$.ajax({

url:PublicConstant.basePath+"/page/report/primary_cause_report_query.action",    //请求的url地址

dataType:"html",   //返回格式为json

async:true,//请求是否异步,默认为异步

data:{"id":id,"reportDate":reportDate,"custId":custId},    //参数值

type:"post",   //请求方式

success:function(data){

$("#view").empty();

$("#view").append(data);

}

});

};

/**

* 加载健康树

*/

var getHealthTree = function(){

var custId=$("#custId").val();

var id=$("#id").val();

var reportDate=$("#reportDate").val();

$.ajax({

url:PublicConstant.basePath+"/page/report/healthTreeReport.action",    //请求的url地址

dataType:"html",   //返回格式为json

async:true,//请求是否异步,默认为异步

data:{"id":id,"reportDate":reportDate,"custId":custId},    //参数值

type:"post",   //请求方式

success:function(data){

$("#view").empty();

$("#view").append(data);

}

});

};

/**

* 加载膳食报告

*/

var getMealData = function(){

var custId=$("#custId").val();

var id=$("#id").val();

var reportDate=$("#reportDate").val();

alert(PublicConstant.basePath);

$.ajax({

url:PublicConstant.basePath+"/page/report/meals_report_query.action",    //请求的url地址

dataType:"html",   //返回格式为json

async:true,//请求是否异步,默认为异步

data:{"id":id,"reportDate":reportDate,"custId":custId},    //参数值

type:"post",   //请求方式

success:function(data){

$("#view").empty();

$("#view").append(data);

}

});

};

/**

* 返回到文档页

*/

var returnBack = function(item){

common.pageForward(PublicConstant.basePath+"/page/myarchives/myarchives.action?item="+item);

};

</script>

<script type="text/javascript">

var custId;

var reportDate;

var id;

var custName;

$().ready(function() {

custId=$("#custId").val();

reportDate = $("#reportDate").val();

id=$("#id").val();

custName = $("#custName").val();

});

function repareImp(){

var tempReportDate = new Date(new Date(reportDate).getTime()-24*60*60*1000);

var imgData = [{img : WaterChart.getDataURL(),imgFile : "每日摄入能量分析_水.png"},

{img : NutrientChart.getDataURL(),imgFile : "每日摄入能量分析_产能营养素.png"},

{img : VChart.getDataURL(),imgFile : "每日摄入能量分析_维生素.png"},

{img : MineralChart.getDataURL(),imgFile : "每日摄入能量分析_矿物质.png"},

{img : EnergyChart.getDataURL(),imgFile : "每日摄入能量.png"},

{img : MealsChart.getDataURL(),imgFile : "营养供能比例_实际.png"},

{img : MealsChartT.getDataURL(),imgFile : "营养供能比例_推荐.png"},

{img : MealsEnergyChart.getDataURL(),imgFile : "餐次供能比例_实际.png"},

{img : MealsEnergyChartT.getDataURL(),imgFile : "餐次供能比例_推荐.png"},

{img : MealsAnalysisChart.getDataURL(),imgFile : "膳食结构.png"},

{img : CbrChart.getDataURL(),imgFile : "碳水化合物来源.png"},

{img : ProtidChart.getDataURL(),imgFile : "蛋白质来源.png"},

{img : FatChart.getDataURL(),imgFile : "脂肪来源.png"}

];

var impageParams = {

custId: custId,

reportDate: common.dateFormatToString(new Date(tempReportDate),‘yyyyMMdd‘)

};

var imgUrl = PublicConstant.basePath+"/page/report/saveEchartImg.action";

common.ajaxPost(imgUrl,"params=" + JSON.stringify(impageParams) + "&pdfId=膳食分析报告&imgData="+JSON.stringify(imgData),dataType.json,function(data){

if (!data.result) {

common.alert(data.message, 8);

}else{

printPdfzl();

}

});

}

// 打印

function printPdfzl(){

var params = {

custId : custId, // 各种需要传入的参数列表,JSON格式

exportName : custName+"_医学营养诊疗报告.pdf",// 如需指定导出文件名称,请设置exportName属性

id : id,

reportDate: reportDate,

};

common.ajaxPost(PublicConstant.basePath + "/page/report/exportPdf.action","pdfId=医学营养诊疗报告&params="+JSON.stringify(params),dataType.json,function(data){

if (data.result) {

var sFeatures = "toolbar=0,location=0,directories=0,status=1,menubar=0,scrollbars=0,resizable=0 channelmode";

window.open(data.value, common.dateFormatToString(new Date(reportDate),‘yyyyMMdd‘), sFeatures);

} else {

box.alert(data.message, {

title: ‘提示信息‘

});

}

});

};

function printssPdf(){

var custName = $("#custName").val();

var tempReportDate = new Date(new Date(reportDate).getTime()-24*60*60*1000);

tempReportDate=common.dateFormatToString(new Date(tempReportDate),‘yyyy-MM-dd‘);

var custId = $("#custId").val();

var imgData = [{img : WaterChart.getDataURL(),imgFile : "每日摄入能量分析_水.png"},

{img : NutrientChart.getDataURL(),imgFile : "每日摄入能量分析_产能营养素.png"},

{img : VChart.getDataURL(),imgFile : "每日摄入能量分析_维生素.png"},

{img : MineralChart.getDataURL(),imgFile : "每日摄入能量分析_矿物质.png"},

{img : EnergyChart.getDataURL(),imgFile : "每日摄入能量.png"},

{img : MealsChart.getDataURL(),imgFile : "营养供能比例_实际.png"},

{img : MealsChartT.getDataURL(),imgFile : "营养供能比例_推荐.png"},

{img : MealsEnergyChart.getDataURL(),imgFile : "餐次供能比例_实际.png"},

{img : MealsEnergyChartT.getDataURL(),imgFile : "餐次供能比例_推荐.png"},

{img : MealsAnalysisChart.getDataURL(),imgFile : "膳食结构.png"},

{img : CbrChart.getDataURL(),imgFile : "碳水化合物来源.png"},

{img : ProtidChart.getDataURL(),imgFile : "蛋白质来源.png"},

{img : FatChart.getDataURL(),imgFile : "脂肪来源.png"}

];

var impageParams = {

custId:custId,

reportDate: tempReportDate

};

var imgUrl = PublicConstant.basePath+"/page/report/saveEchartImg.action";

common.ajaxPost(imgUrl,"params=" + JSON.stringify(impageParams) + "&pdfId=膳食分析报告&imgData="+JSON.stringify(imgData),dataType.json,function(data){

if (!data.result) {

box.alert(data.message, {

title: ‘提示信息‘

});

}else{

var params = {

custId:custId,

reportDate:tempReportDate,

exportName:custName+"_膳食分析报告.pdf"

};

var exportUrl = PublicConstant.basePath+"/page/report/exportPdf.action";

common.ajaxPost(exportUrl, "pdfId=膳食分析报告&params=" + JSON.stringify(params), dataType.json, function(data) {

if (data.result) {

var sFeatures = "toolbar=0,location=0,directories=0,status=1,menubar=0,scrollbars=0,resizable=0 channelmode";

var url = PublicConstant.basePath+"/resource/upload/temp/"+common.dateFormatToString(new Date(tempReportDate),‘yyyyMMdd‘)+"/"+custId+"/膳食分析报告/"+custName+"_膳食分析报告.pdf";

window.open(url,common.dateFormatToString(new Date(tempReportDate),‘yyyyMMdd‘), sFeatures);

} else {

box.alert(data.message, {

title : ‘提示信息‘

});

};

});

}

});

return;

};

// 显示打印报告选择框

function selectReportGroup(){

$("#selectReportGroupModal").modal("show");

}

// 选择要打印的报告

function printSelectedReport(){

var value = $("input:radio[name=‘reportGroupRadio‘][checked=‘checked‘]").attr("value");

if(common.isEmpty(value)){

box.alert("请选择报告",{

title : ‘提示信息‘

});

return false;

}else{

$("#selectReportGroupModal").modal("hide");

if(value=="1001"){

printssPdf();

}

if(value=="1002"){

repareImp();

}

}

}

</script>

<style type="text/css">

.table th, .table td{ text-align:center;}

.question-group .question label.question-label{

margin-bottom:50px;

}

.question-group .question{

margin: 20px 20px 0;

width: 880px;

}

.question-group{

margin-left:30px;

padding-bottom:30px;

}

</style>

</head>

<body>

<div id="wrap">

<div id="wrap-content">

<!-- 头部 -->

<%@ include file="/page/top.jsp"%>

<section id="main-content" class="container eh-padding-tb-20">

<!--right-->

<article class="eh-content">

<div class="row-fluid">

<div class="span12">

<div class="row-fluid">

<div class="eh-widget-box span12 border-top-green">

<div class="eh-widget-header eh-widget-header-1">

<h4>

<i class="eh-icon-file"></i>

健康报告

</h4>

<div class="fr">

<button class="btn btn-block eh-btn-success inverse fl comment-btn" onclick="selectReportGroup()">下载</button>

</div>

</div>

</div>

</div>

<div class="row-fluid">

<div class="eh-widget-box">

<div class="eh-widget-body no-header box-height">

<div class="eh-widget-main secretary no-padding-top">

<div class="eh-space-30"></div>

<!-- 选项卡组件(菜单项nav-tabs)-->

<ul id="myTab" class="nav nav-tabs ">

<li class="active">

<a href="#base" onclick="getMealData()">膳食报告</a>

</li>

<li>

<a href="#family" class="inline" onclick="getHealthTree()">健康树</a>

</li>

<li>

<a href="#disease" onclick="getCauseReportData()">诊疗报告</a>

</li>

</ul>

<!-- 选项卡面板-->

<div class="tab-content">

<div class="tab-pane active" id="view">

</div>

</div>

</div>

</div>

</div>

</div>

</div>

</div>

</article>

</section>

</div>

</div>

<!-- 底部 -->

<%@ include file="/page/footer.jsp"%>

<div id="selectReportGroupModal" class="modal fade">

<div class="modal-dialog">

<div class="modal-content">

<div class="modal-header"  style="background-color:#84AC00">

<h4 class="modal-title" style="border:1rem;padding: 1rem;font-size:17px;">选择要打印的报告</h4>

</div>

<div class="modal-body">

<form class="form-horizontal">

<div class="col-xs-offset-1">

<div class="form-group">

<div class="row-fluid">

<label class="radio-inline"><input type="radio"  name="reportGroupRadio" value="1001"/>膳食回顾分析报告</label>

</div>

</div>

<div class="form-group">

<div class="row-fluid">

<label class="radio-inline"><input type="radio"  name="reportGroupRadio" value="1002"/>医学营养诊疗报告</label>

</div>

</div>

</div>

</form>

</div>

<div class="modal-footer">

<button id="printReportButton" type="button" class="btn btn-primary" style="background-color:#84AC00;border-color: #84AC00; line-height: 2rem;" onclick="printSelectedReport()">确定</button>

<button id="closeModelButton" type="button" class="btn btn-primary" style="background-color:#84AC00;border-color: #84AC00;line-height: 2rem;" data-dismiss="modal">取消</button>

</div>

</div>

</div>

</div>

<input  type="hidden" id="reportDate" value="${reportDate}"/>

<input  type="hidden" id="custId" value="${custId}"/>

<input  type="hidden" id="id" value="${id}"/>

<input  type="hidden" id="custName" value="${customerInfo.custName}" />

</body>

</html>

/common/config.jsp  中代码如下

PublicConstant.basePath = "${common.basepath}";

//${common.basepath} 是项目的根目录

出现的问题是 PublicConstant.basePath 的值只在页面加载的时候有值,点击onclick事件调用时PublicConstant.basePath的值就为空。将全部的PublicConstant.basePath替换为${common.basepath}就没问题了。求大神指点

时间: 2024-11-08 08:21:07

jsp 中 关于获取项目路径问题的相关文章

C#应用程序获取项目路径的方法总结

一.非Web程序 //基目录,由程序集冲突解决程序用来探测程序集 1.AppDomain.CurrentDomain.BaseDirectory //当前工作目录的完全限定路径2.Environment.CurrentDirectory //当前应用程序的 /bin 目录的路径3.HttpRuntime.BinDirectory 二.Web程序 假设Web项目根目录为:"D:\TestPart\WebDirectoryTest". 1.HttpContext.Current //返回与

katalon系列十四:执行Windows命令&amp;获取项目路径

Katalon Studio中也可以运行Windows命令执行一些系统操作. 根据官方文档,在test case中输入命令:cmd = 'del E:\\shot\\*.xlsx E:\\shot\\*.zip'Runtime.getRuntime().exec(cmd) 运行报错 网上搜到解决方案,修改cmd如下cmd = 'cmd.exe /c del E:\\shot\\*.xlsx E:\\shot\\*.zip' 运行成功 除了直接运行cmd命令,也可以执行.bat文件,代码示例如下

【转】C# Winform中如何获取文件路径

获取文件名方法: 用System.IO.Path.GetFileName和System.IO.Path.GetFileNameWithoutExtension(无扩展名)的方法 获取文件路径方法: //获取当前进程的完整路径,包含文件名(进程名).string str = this.GetType().Assembly.Location;result: X:\xxx\xxx\xxx.exe (.exe文件所在的目录+.exe文件名) //获取新的 Process 组件并将其与当前活动的进程关联的

jsp及servlet中获取项目路径的一些方法

获取项目的路径:1.在实现了servlet接口的实现类中:根据config 调用方法,config.getServletContext().getContextPath(); 2.在一个直接创建的servlet类中(实际上是实现了httpservlet):request.getContextPath(); 3.在jsp中:由九大内置对象的request对象获取.request.getContextPath(); 4.在EL标签中${pageContext.request.contextPath}

java中几种获取项目路径方式

转自http://caodaoxi.iteye.com/blog/1234805     在jsp和class文件中调用的相对路径不同. 在jsp里,根目录是WebRoot 在class文件中,根目录是WebRoot/WEB-INF/classes 当然你也可以用System.getProperty("user.dir")获取你工程的绝对路径.            另:在Jsp,Servlet,Java中详细获得路径的方法!            1.jsp中取得路径:      

获取项目路径的几种方法

Java获取当前项目路径: object.class.getResource()方法获得当前生成的class的绝对路径(此方法在jar包中无效,因为他获得的是生成的class的路径,返回的内容最后包含/) public String getCurrentPath(){ //取得根目录路径 String rootPath=getClass().getResource("/").getFile().toString(); //当前目录路径 String currentPath1=getCl

Java获取项目路径下的方法(全)

平时写程序的时候,很多时候提示文件找不到,而抛出了异常,现在整理如下 一 相对路径的获得 说明:相对路径(即不写明时候到底相对谁)均可通过以下方式获得(不论是一般的java项目还是web项目) String relativelyPath=System.getProperty("user.dir"); 上述相对路径中,java项目中的文件是相对于项目的根目录 web项目中的文件路径视不同的web服务器不同而不同(tomcat是相对于 tomcat安装目录\bin) 二 类加载目录的获得(

获取项目路径

①获取项目的classes文件路径 1 URL url = TestAction.class.getResource("/");////获取项目的classes文件路径,结果如:file:/E:/Workspaces/MyEclipse%2010/mystruts/WebRoot/WEB-INF/classes/,其中"%20"代表一个空格(这里只是给出一个例子,注意项目路径中不要有空格和汉字) 2 String urlStr=url.getFile();//获取要

java获取项目路径

import java.io.File; /** * new File("..\path\abc.txt") 中的三个方法获取路径的方法 <br> * 1: getPath() 获取相对路径,例如 ..\path\abc.txt <br> * 2: getAbslutlyPath() 获取绝对路径,但可能包含 ".." 或 "." 字符,例如D:\otherPath\..\path\abc.txt <br> *