在一个Jsp查询页面有一个保存按钮(获取路劲)和一个确定按钮(submit),当点击保存是就弹出来一个对话框选择路径,蛮多网站都有类似的按钮......我起初用的是<input type="file" name="url" value="" />结果发现被坑爹了,这个控件只能指向一个文件,而不是文件夹。后台用的apache-poi-3.7操作的。那个保存按钮应该怎么做,请教下高手们。或者说我的思路根本就是错误的话,给点提示,晚辈受教了。
解决方案 »
- 怎么在jquery中显示从数据库中查询出的内容?
- MyEclipse安装tomcat遇到的问题
- 动态文件下载,能直接打开,但保存就出错:java.lang.IllegalStateException: getOutputStream() has alrea
- 请问jsp里如何判断select sum(XX) from .....返回的不是int类型而是null呢?
- 如果把一个ResultSet转成list?菜鸟问题:)))
- 大神们,咨询个问题,海康威视的视频怎么播放?
- 很简单的javaScript问题!我实在是没分了!
- 请问如何把一个double型的数字,按照需要取其精确度
- 在线等待问题解决
- request.getParameter()的问题!!!急!!!
- axis传递javabean时的发布问题
- 请教高手一个问题!!!!!!!
说白了就是用户给个路径把页面显示的数据保存到用户的电脑,保存成Excel表格。这个该怎么做?
望路过的专家,给点参考,能实现的画加分的!
告警过滤处理,此处是告警计数累减
UINT32 AlarmClearJudge(UINT8* pucCount,UINT8* pucAlarmByte)
{UINT8 ucCount = y2;UINT8 ucAlarmByte = y2;CHECK;ucCount = *pucCount;
ucAlarmByte = *pucAlarmByte;if(ucCount > 0){ucCount--;}if(0 == ucCount){
ucAlarmByte = CCU_ALARM_NORMAL;}*pucCount = ucCount;*pucAlarmByte = ucAlarmByte;y3;}
温度传感器告警恢复
VOID ResumeTempSensorAlarm(UINT8 ucSlot, UINT8 ucSenNum)
{PGDC_CARD_INFO pstNode = CCU_NULL_PTR;if ( (ucSenNum >= z4)||(ucSlot >= MAX_INSIDE_CARD_NUM) )
{return;} pstNode = &g_stInsideBoardInfo.stGdcInfo[ucSlot];
if ( HIGH_ALARM_STATE == j2.ucAlarm){z3(CCU_RESID, z2, ucSenNum, j2.z8[0], z7);
}else if ( SENSOR_FAULT_STATE == j2.ucAlarm )
{z3(CCU_RESID, z2, ucSenNum, j2.z8[2], z7);}else{;}return;}
判断是否有传感器失效告警
VOID CheckSensorFaultAlarm(UINT8 ucSensorNum, GDC_CARD_INFO *pstNode, UINT32 ulFlag, UINT32 *pulAlarmFlag)
{UINT8 ucAlarmValue = CCU_ALARM_NORMAL;if ( ucSensorNum >= z4 ){z5;return;}j4;if ( CCU_ALARM_ALARM == ulFlag)
{ AlarmExistJudge(&j3.ucSdrFaultCnt, &ucAlarmValue, MAX_GDC_ALARM_FILT_CNT);
if ( (CCU_ALARM_ALARM == ucAlarmValue)&&(SENSOR_FAULT_STATE != j3.ucAlarm)){
pstNode->pstSenlist[5].fTargetValueVoltage = fFullOpenVol;
/* 为了调节的及时性,当置阀门全开时,当即设置一遍阀门 */ValveSet(pstNode);
j3.ucFistTempFlag = CCU_FALSE;j3.ucInputCnt = 0;j3.iTotalInTemp = 0;
/* 如果告警状态发生变迁,先恢复之前的告警 */ResumeTempSensorAlarm(z2, ucSensorNum);
/* 如果入风口传感器失效了,恢复入风口温度异常告警 */
if ( (INPUT_TEMP_SENSOR_INDEX == ucSensorNum)&&(INPUT_TEMP_ALARM == z1) ){z1 = INPUT_TEMP_NORMAL;
pstNode->ucInTempErrCnt = 0;z3(CCU_RESID, z2, ucSensorNum, j3.z8[3], z7);}
/* 当温度传感器失效后,置温度值为-23度,只为本地显示更合理 */j3.iValue = SENSOR_FAULT_TEMP_VALUE;
}z5;}else{ucAlarmValue = CCU_ALARM_ALARM;AlarmClearJudge(&j3.ucSdrFaultCnt, &ucAlarmValue);
if ( CCU_ALARM_NORMAL == ucAlarmValue){*pulAlarmFlag = CCU_ALARM_NORMAL;
if ( SENSOR_FAULT_STATE == j3.ucAlarm ){ j3.ucAlarm = NORMAL_STATE;
z3(CCU_RESID, z2, ucSensorNum, j3.z8[2], z7);}}else{z5;}}return;}
判断是否有温度传感器告警
VOID CheckSensorTempAlarm(UINT8 ucSensorNum, GDC_CARD_INFO *pstNode)
{UINT8 ucAlarmValue = CCU_ALARM_NORMAL;BOOL bFlag = CCU_FALSE;CHECK;j4;if ( ucSensorNum >= z4 ){return;}
/* 高温告警判断,如果累加告警计数到告警计数,上报告警,如果累加计数清零,之前又上报过告警,就上报告警恢复 */
if ( j3.iValue >= j3.iAlmUpperThreshold){
/* 对于入风口传感器,直接告警计数,对于出风口传感器,当阀门全开后才开始高温告警计数 */
if ( (INPUT_TEMP_SENSOR_INDEX == ucSensorNum)||( (ucSensorNum > INPUT_TEMP_SENSOR_INDEX)
&&( ((j5.fTargetValueVoltage - fFullOpenVol) < (HighFloatMark))
&&((j5.fTargetValueVoltage - fFullOpenVol) > (LowFloatMark))))) {
AlarmExistJudge(&j3.ucSdrHighCnt, &ucAlarmValue, MAX_GDC_ALARM_FILT_CNT);if ( CCU_ALARM_ALARM == ucAlarmValue)
{bFlag = ( (HIGH_ALARM_STATE != j3.ucAlarm)&&(SENSOR_ENABLE == j3.ucEnable) );
if ( bFlag ){j5.fTargetValueVoltage = fFullOpenVol;/* 如果告警状态发生变迁,先恢复之前的告警 */
ResumeTempSensorAlarm(z2, ucSensorNum);/* 为了调节的及时性,当置阀门全开时,当即设置一遍阀门 */
ValveSet(pstNode);z3(CCU_RESID, z2, ucSensorNum, j3.z8[0], z6);j3.ucAlarm = HIGH_ALARM_STATE;} }} }
else{ucAlarmValue = CCU_ALARM_ALARM;AlarmClearJudge(&j3.ucSdrHighCnt, &ucAlarmValue);
if ( CCU_ALARM_NORMAL == ucAlarmValue ){
bFlag = ( (HIGH_ALARM_STATE == j3.ucAlarm)&&(SENSOR_ENABLE == j3.ucEnable) );
if ( bFlag ){z3(CCU_RESID, z2, ucSensorNum, j3.z8[0], z7);j3.ucAlarm = NORMAL_STATE;}}}return;}