JSP não é minha area, entao vim pedir ajuda de vocês, refiz o topico fazendo corretamente.
O CODIGO ESTÁ FUNCIONANDO PERFEITAMENTE:
É um script de um jogo para fazer entrega no correio do jogo.
Gostaria de fazer algumas modificações nele:
Gostaria que o ROLEID fosse lido de uma tabela no SQL:
A tabela teria:
ID | ROLEID | ENTREGUE
1 | 10 | 0 |
Ao executar o protocolo salvaria para 1 ( Informando que foi entregue )
Teria diversos ROLEID para entregar, para evitar erro acho que teria um sleep para garantir.
O items.jsp teria a lista de itens a serem entregues.
Caso algum freelancer esteja interessado so entrar em contato.
INDEX.JSP
[code]
<%@page import=“java.util."%>
<%@page import="protocol.”%>
<%@page import=“com.goldhuman.Common.Octets”%>
<%@include file="…/…/WEB-INF/.acesso.jsp"%>
<%@include file=“items.jsp”%>
<%!
byte[] hextoByteArray(String x)
{
if (x.length() < 2)
{
return new byte[0];
}
if (x.length() % 2 != 0)
{
System.err.println(“hextoByteArray error! hex size=” + Integer.toString(x.length()));
}
byte[] rb = new byte[x.length() / 2];
for (int i = 0; i < rb.length; ++i)
{
rb[i] = 0;
int n = x.charAt(i + i);
if ((n >= 48) && (n <= 57))
n -= 48;
else
if ((n >= 97) && (n <= 102))
n = n - 97 + 10;
rb[i] = (byte)(rb[i] | n << 4 & 0xF0);
n = x.charAt(i + i + 1);
if ((n >= 48) && (n <= 57))
n -= 48;
else
if ((n >= 97) && (n <= 102))
n = n - 97 + 10;
rb[i] = (byte)(rb[i] | n & 0xF);
}
return rb;
}
%>
<%
String message = “
”;
boolean allowed = false;
if(request.getSession().getAttribute("ssid") == null)
{
message = "<font color=\"#ee0000\"><b>Login to use Send Mail...</b></font>";
}
else
{
allowed = true;
}
%>
<%
if(allowed && request.getParameter(“process”) != null && request.getParameter(“process”).compareTo(“mail”) == 0)
{
if(request.getParameter(“title”) != “” && request.getParameter(“content”) != “” && request.getParameter(“coins”) != “” && request.getParameter(“itemnumber”) != “”)
{
Class.forName(“com.mysql.jdbc.Driver”).newInstance();
Connection connection = DriverManager.getConnection(“jdbc:mysql://” + db_host + “:” + db_port + “/” + db_database, db_user, db_password);
Statement statement = connection.createStatement();
ResultSet rs;
int roleid = Integer.parseInt(request.getParameter("roleid"));
String title = request.getParameter("title");
String content = request.getParameter("content");
int coins = Integer.parseInt(request.getParameter("coins"));
int itemnumber = Integer.parseInt(request.getParameter("itemnumber"));
GRoleInventory gri = new GRoleInventory();
if(itemnumber > 0)
{
gri.id = Integer.parseInt(items[itemnumber][0]);
gri.guid1 = 0;
gri.guid2 = 0;
gri.mask = 1;
gri.proctype = 0;
gri.pos = 0;
gri.count = 1;
gri.max_count = 1;
gri.expire_date = 0;
gri.data = new Octets(hextoByteArray(items[itemnumber][2]));
}
if(protocol.DeliveryDB.SysSendMail(roleid, title, content, gri, coins))
{
message = "<font color=\"#00cc00\"><b>Mail Send</b></font>";
}
else
{
message = "<font color=\"#ee0000\"><b>Sending Mail Failed</b></font>";
}
}
else
{
message = "<font color=\"#ee0000\"><b>Enter Valid Values</b></font>";
}
}
%>
SEND MAIL | |
---|---|
<% out.print(message); %> | |
Role ID: | |
Title: | |
Content: | |
Coins: | |
Item ID: | <% for(int i=0; i<items.length; i++) { out.println("" + items[i][0] + " - " + items[i][1] + ""); } %> |
ITEMS.JSP
<%
// item DB for send mail
// items[index][0] -> item id
// items[index][1] -> item name
// items[index][2] -> xml octets for this item
String[][] items =
{
{"0", "none", ""},
{"23849", "C17 Dual Axes", "5f00ff000500000005000000a8480000a84800002c00030000000000090000000c000000000000001d020000860300000000000000000000180000000000a040000000000000000000000000"},
{"23861", "C17 Pike", "5f00ff000500000005000000b04f0000b04f00002c00030000000000050000000c00000000000000310200001204000000000000000000001400000000006040000000000000000000000000"},
{"23885", "C17 Pataka", "5f00ff00050000000500000060220000602200002c00030000000000240100000c000000000000007601000031020000a80200003f0300001400000000004040000000000000000000000000"}
};
%>