%@ page import="java.io.*, java.util.*, imagemed.util.*"%>
<%
// GLOBAL & INIT BEGIN
String selfPageName = "teszt2.jsp";
String testFileName = "tesztleiro/miniTeszt.txt";
String testFilePar = request.getParameter("testFile");
if ( null != testFilePar && !"".equals(testFilePar) ) testFileName = testFilePar;
String homeDirName = "/data/www/htdocs/users/elsosegelyhely";
String strXMLtest = readTextFile(homeDirName+"/"+testFileName);
if ( null == strXMLtest ) {
out.println("
HIBATeszt fájl nem létezik (ellenörizze a home dir-t)!");
return;
}
boolean submitted = ( null != request.getParameter("send") ) ;
String refererPageName = "http://www.elsosegelyhely.hu/tesztvalaszto2.html";
if (submitted)
refererPageName = request.getParameter("refererPage");
else {
String refererHeader = request.getHeader("referer");
if ( null != refererHeader ) refererPageName = refererHeader;
}
Properties reqPar = new Properties();
for ( Enumeration parSeq = request.getParameterNames(); parSeq.hasMoreElements(); ) {
String parName = (String) parSeq.nextElement();
if (parName.startsWith("q_")) {
String parVal = request.getParameter(parName);
reqPar.setProperty(parName,parVal);
}
}
String colorCodeBackground = "lightgreen";
String colorCodeBasicFont = "green";
// GLOBAL & INIT END
%>
<%!
// FUNCTIONS BEGIN
String colorCodeTruthFont = "green";
String colorCodeFalsityFont= "brown";
char[] counterToChar = {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','x','y','z'};
String procTest( String strXML, boolean submit, Properties reqPar ) {
int questionCounter = 0;
StringTokenizer strTokXML = new StringTokenizer(strXML,"\n",false);
StringBuffer outHTML = new StringBuffer(strTokXML.nextToken());
while (strTokXML.hasMoreTokens()) {
questionCounter++;
outHTML.append(procQuestion(strTokXML, submit, questionCounter, reqPar));
}
return outHTML.toString();
}
StringBuffer procQuestion( StringTokenizer strTokXML, boolean submit, int questionCounter, Properties reqPar ) {
StringBuffer outHTML = new StringBuffer();
StringBuffer questionLine = new StringBuffer( strTokXML.nextToken() );
int posHeadTagEnd = questionLine.indexOf(">");
questionLine.insert(posHeadTagEnd+1,") ").insert(posHeadTagEnd+1,Integer.toString(questionCounter));
outHTML.append(questionLine).append('\n');
int answerCounter = 0;
StringBuffer answerHTML = procAnswer(strTokXML, submit, questionCounter, counterToChar[answerCounter], reqPar);
while (answerHTML != null) {
outHTML.append(answerHTML).append('\n');
answerCounter++;
answerHTML = procAnswer(strTokXML, submit, questionCounter, counterToChar[answerCounter], reqPar);
}
return outHTML;
}
StringBuffer procAnswer( StringTokenizer strTokXML, boolean submit, int iQC, char iAC, Properties reqPar ) {
if (!strTokXML.hasMoreTokens()) return null;
StringBuffer answerLine = new StringBuffer(strTokXML.nextToken());
if (-1")) return null;
boolean truth = false;
StringBuffer outHTML = new StringBuffer();
String parVal = "a_"+iAC;
String parName = "q_"+Integer.toString(iQC);
String valaszErreaKerdesre = reqPar.getProperty(parName);
//if (parVal.equals(valaszErreaKerdesre)) outHTML.append("\n");
int posInputEnd = answerLine.indexOf(">");
if (submit) {
answerLine.delete(0,posInputEnd+1).insert(0,iAC).insert(1,")
\n").append("
\n");
} else {
answerLine.insert(posInputEnd+1,iAC).insert(posInputEnd+2,")
\n").append("
\n");
int posParName = answerLine.indexOf("NAME=''")+6;
answerLine.insert(posParName,parName);
int posParVal = answerLine.indexOf("VALUE=''")+7;
answerLine.insert(posParVal,parVal);
}
outHTML.append(answerLine);
String commentLine = strTokXML.nextToken();
if (submit) {
if (-1HELYESEN válaszolt!
\n");
else
outHTML.append("Ez lett volna a HELYES válasz!
\n");
} else {
outHTML.append("\n");
int posCommentTagEnd = commentLine.indexOf(">");
String commentText = commentLine.substring(posCommentTagEnd+1);
outHTML.append(commentText).append('\n');
if (parVal.equals(valaszErreaKerdesre))
outHTML.append("
Hibásan válaszolt!\n");
outHTML.append("
\n");
}
}
//if (parVal.equals(valaszErreaKerdesre)) outHTML.append("\n");
if (truth) {
StringBuffer ret = new StringBuffer("\n");
ret.append(outHTML).append("\n");
return ret;
}
else
return outHTML;
} // End of procAnswer()
String readTextFile(String filename) {
String result = null;
try {
FileInputStream fStream = new FileInputStream(filename);
byte[] buffer = new byte[1024];
int r = 0;
StringBuffer content = new StringBuffer();
while (-1 != (r = fStream.read(buffer))) {
String str = new String(buffer,0,r,"ISO8859_1");
content.append(str);
}
result = content.toString();
fStream.close();
}
catch(Throwable e) {}
return result;
}
// FUNCTIONS END
%>
elsosegelyhely.hu teszt