Я пытаюсь сделать JSP, который принимает текст из текстовой области, и в зависимости от того, будет ли вы выбирать кодировку или декодирование, будет кодировать текст или декодировать закодированный текст. Закодировать часть работает, но вариант декодирования бросаетИспользование Xor для кодирования и декодирования
org.apache.jasper.JasperException: java.lang.NumberFormatException: Для ввода строки: "".
Вот мой код:
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<h1>Xorcoder</h1>
<form method="post">
<label>Key</label><input type="text" name="key" />
<p>Encode<input type="radio" name="option" value="encode" /></p>
<p>Decode<input type="radio" name="option" value="decode" /></p>
<p><textarea name="txt" style="width:400px;height:200px" >
<%String txt = "";
int key;
String option = "";
if(request.getParameter("txt") != null) {
txt = request.getParameter("txt");
}
if(request.getParameter("key") != null) {
key = Integer.parseInt(request.getParameter("key"));
}
else {
key = 0;
}
if(request.getParameter("option") != null) {
option = request.getParameter("option");
}
char temp;
int[] array = new int[(txt.length())];
if(option.equals("encode")) {
for(int i = 0; i < array.length; i++) {
temp = txt.charAt(i);
array[i] = temp^key;
}
for(int i = 0; i < array.length; i++)
out.print(array[i] + " ");
}
else if(option.equals("decode")){
String[] array2 = txt.split(" ");
int temp2;
for(int i = 0; i < array2.length; i++) {
temp2 = Integer.parseInt(array2[i]);
temp2 = temp2^key;
out.print((char)temp2);
}
}
%></textarea></p>
<p><input type="submit" value="Press" /></p>
<p><input type="reset" value="Clear" /></p>
</form>
</body>
</html>
И ваш вопрос ...? –
Очевидно ... почему он бросает это исключение и как его исправить. –