我收到此错误消息
pageContext cannot be resolved
但我没有变量pagecontext。 这是代码(我知道这里有其他问题超出了这个问题的范围):
<%@page import="se.prv.pandora.arendeprocess.util.PandoraPersonHandler"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jstl/fmt" prefix="fmt"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<%@ page import="org.apache.log4j.Logger" %>
<%@ page import="java.util.List" %>
<%@ page import="java.util.ArrayList" %>
<%@ page import="java.util.HashMap" %>
<%@ page import="java.util.Set" %>
<%@ page import="java.util.Map" %>
<%@ page import="se.prv.pandora.arendeprocess.general.ArendeProcessLocator"%>
<%@ page import="se.prv.pandora.arendeprocess.page.ArendeProcessPageController" %>
<%@ page import="se.prv.pandora.arendeprocess.page.GrunduppgifterPageController" %>
<%@ page import="se.prv.pandora.arendeprocess.obj.Navigation" %>
<%@ page import="se.prv.pandora.arendeprocess.obj.AnsokanInfo" %>
<%@ page import="se.prv.pandora.arendeprocess.obj.Oversikt" %>
<%@ page import="se.prv.pandora.arendeprocess.obj.PersonInfo" %>
<%@ page import="se.prv.pandora.arendeprocess.obj.PersonInfoIndex" %>
<%@ page import="se.prv.pandora.arendeprocess.obj.Land" %>
<%@ page import="se.prv.pandora.arendeprocess.obj.ArendesokInfo" %>
<%@ page import="se.prv.pandora.arendeprocess.entity.Prioritet" %>
<%@ page import="se.prv.pandora.arendeprocess.util.PandoraFieldConstants" %>
<%@ page import="se.prv.pandora.arendeprocess.entity.Deposition" %>
<%@ page import="se.prv.pandora.arendeprocess.util.ArendeComparatorManager" %>
<%@ page import="se.prv.pandora.arendeprocess.obj.ArendeSearchAdmin" %>
<%@ page import="se.prv.framework.forms.IFormData" %>
<%@ page import="se.prv.framework.general.Action" %>
<%@ page import="java.util.Iterator" %>
<%@ page import="java.text.DateFormat" %>
<%@ page import="java.text.SimpleDateFormat" %>
<%@page import="se.prv.pandora.arendeprocess.obj.ArendeProcessSessionData"%>
<%@ page import="se.prv.pandora.arendeprocess.util.PandoraConstants" %>
<%@page import="se.prv.pandora.arendeprocess.entity.PRVNummerPerson"%>
<%@ page import="se.prv.pandora.arendeprocess.entity.Region" %>
<%@ page import="se.prv.pandora.arendeprocess.obj.Land" %>
<%@ page import="se.prv.pandora.arendeprocess.entity.LandKod" %>
<%@ page import="se.prv.pandora.arendeprocess.util.MessageHandler" %>
<%@page import="se.prv.pandora.arendeprocess.general.PandoraManager"%>
<html>
<head><link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.1/themes/base/jquery-ui.css">
<link href="css_js/styles.css" rel="stylesheet" type="text/css">
<link href="css_js/positions.css" rel="stylesheet" type="text/css">
<link href="css_js/dialog_box.css" rel="stylesheet" type="text/css">
<link href="css_js/floats.css" rel="stylesheet" type="text/css">
<script language="JavaScript1.2" src="css_js/jquery-1.7.1.min.js" type="text/javascript"></script>
<script language="JavaScript1.2" src="css_js/jquery-ui-1.8.17.custom.min.js" type="text/javascript"></script>
<script language="JavaScript1.2" src="css_js/sorttable.js" type="text/javascript"></script>
<script language="JavaScript1.2" src="css_js/general_arendeprocess.js" type="text/javascript"></script>
<script language="JavaScript1.2" src="css_js/dialog_box.js" type="text/javascript"></script>
<script language="JavaScript1.2" type="text/javascript">
function ingVar(x) {
var applicationDependence;
applicationDependence = x;
document.getElementById('ff').style.display='none';
document.getElementById('avd').style.display='none';
document.getElementById('utb').style.display='none';
document.getElementById('oepa').style.display='none';
document.getElementById('aooep').style.display='none';
if (applicationDependence == 'ff'){
document.getElementById('ob').style.display='none';
document.getElementById('ff').style.display='';
}
if (applicationDependence == 'avd'){
document.getElementById('ob').style.display='none';
document.getElementById('avd').style.display='';
}
if (applicationDependence == 'utb'){
document.getElementById('ob').style.display='none';
document.getElementById('utb').style.display='';
}
if (applicationDependence == 'oepa'){
document.getElementById('ob').style.display='none';
document.getElementById('oepa').style.display='';
}
if (applicationDependence == 'aooep'){
document.getElementById('ob').style.display='none';
document.getElementById('aooep').style.display='';
}
if (applicationDependence == 'ob'){
document.getElementById('ob').style.display='';
}
}
function popup() {
//alert('opening popup');
var popup = $('.newpopup');
popup.draggable();
//popup.resizable();
//popup.html('<p>Where is pancakes house?</p>');
//popup.show('fast');
//Comment me out and use the version below to show working
$.ajax({url:'/PandoraArendeWeb/popup.jsp',
error: function() {
alert('Error');
},
success: function(data) {
popup.html(data);
popup.show('fast');
}
}
);
/*
popup.html("test");
popup.show('fast');
*/
var screen_width = $(document).width();
var screen_height = $(document).height();
var box_width = popup.width();
var box_height = popup.height();
var top = (screen_height - box_height) / 2; // you might like to subtract a little to position it slightly higher than half way
var left = (screen_width - box_width) / 2;
popup.css({ 'position': 'absolute', 'top':top, 'left':left, 'overlayShow':true,'transitionIn' : 'elastic','transitionOut' : 'elastic','opacity' : '0.80' });
}
$(".newpopup").css('background-color', 'white');
$(document).ready(function(){
$('button').click(function(){
popup();
});
})
function popup2() {
alert('test');
var popup = $('.newpopup');
popup.draggable();
//popup.resizable();
//popup.html('<p>Where is pancakes house?</p>');
//popup.show('fast');
$.get('/PandoraArendeWeb/popup.jsp', function(data) {
popup.html(data);
popup.show('fast');
});
var screen_width = $(document).width();
var screen_height = $(document).height();
var box_width = popup.width();
var box_height = popup.height();
var top = (screen_height - box_height) / 2; // you might like to subtract a little to position it slightly higher than half way
var left = (screen_width - box_width) / 2;
popup.css({ 'position': 'absolute', 'top':top, 'left':left });
}
$(document).ready(function(){
$('#mypopup').click(function(){
popup();
});
})
$(document).ready(function() {
var $dialog = $('<div></div>')
.html('This dialog will show every time!')
.dialog({
autoOpen: false,
title: 'Basic Dialog'
});
$('#opener').click(function() {
$dialog.dialog('open');
// prevent the default action, e.g., following a link
$("#opener").load('PandoraArendeWeb/popup.jsp').dialog({modal:true});
return false;
});
});
</script>
<title>Ingivningsdag - NAT. - Pandora </title>
</head>
<%
final Logger logger = Logger.getLogger("arendeprocess_grunduppgifter.jsp");
ArendeProcessPageController apc = new ArendeProcessPageController(request);
GrunduppgifterPageController pc = new GrunduppgifterPageController(request);
ArendeProcessSessionData sessionData =(ArendeProcessSessionData) PandoraManager.getSessionData(request);
String arendeTyp = apc.getArendeTyp();
boolean showSearch = false;
boolean showSearchD = false;
boolean showSearchP = false;
boolean showSearchI = false;
boolean showSearchR = false;
boolean showSearch2 = false;
boolean showSearchF = false;
boolean showSearchA = false;
boolean showSearchU = false;
boolean showSearchO = false;
boolean showSearchEPa = false;
boolean showSearchEPn = false;
AnsokanInfo ansokanInfo = apc.getAnsokanInfo();
PersonInfo editPerson = new PersonInfo();
PersonInfo editOmbud = new PersonInfo();
String chosenPersonTyp = "";
String chosenPersonOrdNr = "";
if(ansokanInfo != null && ansokanInfo.hasEditPersonInfo()) {
editPerson = ansokanInfo.getEditPersonInfo();
Action latestAction = sessionData.getLatestAction();
chosenPersonTyp = latestAction.getActionModifier();
//+1 eftersom listindex börjar på 0
chosenPersonOrdNr = latestAction.getCurrIndexAsInt()+1+"";
} else {
editPerson.setFornamn(apc.getNyregPerson().getFornamn());
editPerson.setEfternamn(apc.getNyregPerson().getEfternamn());
editPerson.setForetag(apc.getNyregPerson().getForetag());
//editPerson.setOrgnr(apc.getNyregPerson().getOrgnr());
editPerson.setLandKod(apc.getNyregPerson().getLandKod());
editPerson.setReferens(apc.getNyregPerson().getReferens());
}
if(apc.getLatestAction().equals("Namnsokning") && apc.getLatestActionCommand().equals("search")) {
showSearch = true;
}
if(apc.getLatestAction().equals("Arendesokning") && apc.getLatestActionCommand().equals("search")) {
showSearchF = true;
}
int nbOfRelatedPersons = 0;
String relatedPersons = "";
if(editPerson.getPersonTyp().containsKey(PandoraConstants.PERSONTYP_OMBUD)) {
editOmbud = editPerson;
PersonInfoIndex pii = editOmbud.getPersonTyp().get(PandoraConstants.PERSONTYP_OMBUD);
if(pii!=null) {
nbOfRelatedPersons = pii.getRelatedPersons().size();
//Ska bara skrivas ut om inte ombudet gäller för alla sökande
if(ansokanInfo.getSokandeList().size()> nbOfRelatedPersons)
relatedPersons = pii.getRelatedPersonsAsString();
}
editPerson = new PersonInfo();
}
int vectr = 0; // får bara användas i errormessages.jspf
IFormData ifData = sessionData.getFormData();
%>
<body id="content" onload="if(document.getElementById('beroende') != null) { ingVar(document.getElementById('beroende').value); }">
<br><br>Sök person/<br>företag:<br>
<input type="button" value="Sök" onClick="document.getElementById('popupF').style.display='';">
<div class="popup" id="popupF"
<% if(!showSearchF) { %>
style="display: none;"
<% } %>
>
<%@ include file="WEB-INF/jspf/fullfoljd_fran_sok.jspf" %>
</div></div></div>
<div class="popup" id="popupSokNamn2"
<% if(!showSearch2) { %>
style="display: none;"
<% } %>
>
<%@ include file="WEB-INF/jspf/namnuppgifter_sok2.jspf" %>
</div></div></div>
<div class="popup" id="popupSokNamn"
<% if(!showSearch) { %>
style="display: none;"
<% } %>
>
<%@ include file="WEB-INF/jspf/namnuppgifter_sok.jspf" %>
</div></div></div>
<div class="popup" id="popupD"
<% if(!showSearchD) { %>
style="display: none;"
<% } %>
>
<%@ include file="WEB-INF/jspf/handlaggare_sok.jspf" %>
</div></div></div>
<div class="popup" id="popupI"
<% if(!showSearchI) { %>
style="display: none;"
<% } %>
>
<%@ include file="WEB-INF/jspf/ingivningsdag_sok.jspf" %>
</div></div></div>
<div class="popup" id="popupP"
<% if(!showSearchP) { %>
style="display: none;"
<% } %>
>
<%@ include file="WEB-INF/jspf/prioriteter_sok.jspf" %>
</div></div></div>
<div class="popup" id="popupR"
<% if(!showSearchR) { %>
style="display: none;"
<% } %>
>
<%@ include file="WEB-INF/jspf/rabattgrundande_sok.jspf" %>
</div></div></div>
</form>
<%@ include file="WEB-INF/jspf/arendeprocess_messages_inc.jspf" %>
<p> </p><p> </p><p> </p><p> </p>
</body>
</html>
当我添加这部分时,它开始抱怨pagecontext:
<div class="popup" id="popupF"
<% if(!showSearchF) { %>
style="display: none;"
<% } %>
>
<%@ include file="WEB-INF/jspf/fullfoljd_fran_sok.jspf" %>
</div>
我在弹出窗口中甚至没有JSP代码,我将其简化为纯HTML,以证明导致此错误的不是我的JSP:
<table width="100%" border="1" cellspacing="0" cellpadding="2" align="center" class="TB_nb">
<tr>
<td colspan="3" class="pusher TB_nb"><h2>Sök efter ärende</h2>
</td>
<td><a href="javascript:void(0)" onclick="document.getElementById('popupF').style.display = 'none';" align="right">X</a></td>
</tr>
</table>
<br><br>
<h2 class="pusher">Sök efter ärende</h2>
<div id="FVsok">
<div style="text-align: right; width: 100%; padding-right: 5%; padding-top: 5px;">
<span onClick="getElementById('FsokF').style.display='', getElementById('FbottomA').style.display='none', getElementById('FbottomV').style.display='', getElementById('FVsok').style.display='none'" class="link_sm">Visa sökformulär</span>
</div>
</div>
<div id="FsokF">
<div style="text-align: right; width: 100%; padding-right: 5%; padding-top: 5px;; padding-bottom: 5px;">
<span onClick="getElementById('FsokF').style.display='none', getElementById('FbottomA').style.display='none', getElementById('FbottomV').style.display='', getElementById('FVsok').style.display=''" class="link_sm">Dölj sökformulär</span>
</div>
<div style="width: 100%; margin-left: 15px; margin-right: 80px;" class="fontS80">
<div class="fl30"> Sök efter ärende</div><div class="clear"></div>
<div class="fl30"><input type="text" size="60" name=""></div>
<div class="clear"></div>
<div class="fl30"><input type="button" value="Avbryt"></div>
<div class="fl10"><input type="button" value=" Sök " onclick="javascript:doSubmit('Arendesokning', 'search')"></div>
<div class="clear"> </div>
</div>
</div>
<div style="width: 100%; margin-left: 15px; margin-right: 15px;">
<table width="100%" border="0" cellspacing="0" cellpadding="4" align="center">
<tr>
<td><h3>Sökresultat:</h3></td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td colspan="4">En massa text <span class="link">Hjälp!</span> </td>
</tr>
<tr>
<td><input type="button" value="Visa alla"></td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr class="smallb">
<td>Antal ärenden: <%= resultList.size() %></td>
<td> </td>
<td>Visa ärenden: <a class="link" href="javascript:doSubmit('MenyNavigation', 'REW_<%= thisPage %>')" >
</a>
<a class="link" href="javascript:doSubmit('MenyNavigation', 'FWD_<%= thisPage %>')" >
</a> </td>
<td> </td>
</tr>
</table>
<table width="100%" cellspacing="0" align="center" class="sortable" id="unique_id">
<tr>
<th class="thkant">Ärende</th>
<th class="thkant">Ingivningsdag</th>
<th class="thkant">Sökande1</th>
<th class="thkant">Uppfinnare1</th>
<th class="thkant">Ombud1</th><!--
<th class="thkant">Region</th>
<th class="thkant">Land</th>
<th class="thkant">Telefonnummer</th>-->
</tr>
<tr class="g2" onmouseover="javascript:setStoreStyle(this)"; onmouseout="javascript:getStoreStyle(this)" <%}else{%>class="g1" onmouseover="javascript:setStoreStyle(this)" onmouseout="javascript:getStoreStyle(this)"<%} %> onclick="javascript:goToOversikt('','','','','','')" style="cursor:pointer;">
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</table>
<div id="FbottomV">
<table width="100%" align="center">
<tr>
<td align="left"><input type="button" id="visaknapp" value="Visa" disabled style="width:150px;" onClick="getElementById('sokR').style.display='', getElementById('bottomA').style.display='', getElementById('bottomV').style.display='none', getElementById('Vsok').style.display='', getElementById('sokF').style.display='none'"></td>
<td align="right"><input type="button" value="Avbryt" style="width:150px;" class="checkmargin"><input type="button" value="Infoga" disabled style="width:150px;"></td>
</tr>
</table>
</div>
<div id="FbottomA" style="display: none">
<table width="100%" align="center">
<tr>
<td align="left"><input type="button" value="Ändra i register" style="width:150px;"></td>
<td align="right"><input type="button" value="Avbryt" style="width:150px;" class="checkmargin"><input type="button" value="Infoga" style="width:150px;"></td>
</tr>
</table>
</div>
答案 0 :(得分:3)
我认为这是因为你的JSP中有scriplets。您可能有一些没有正确关闭块的scriptlet。
或者你的某些jspf可能没有适当的大括号。查看生成的Java代码并调试出错的地方。
应该避免在JSP中使用Java代码来摆脱这些问题。 Java代码应该放在Sevlets中,EL应该用在JSP中。