经历以下 [英] Go through the following

查看:83
本文介绍了经历以下的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的第一个servlet

My first servlet

import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class TestServlet extends HttpServlet
{
  public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException
  {
  response.setContentType("text/html");
  PrintWriter pw = response.getWriter();
    String sqanda = "1.What does TCP stands for?/Transaction Control Protocol/Transmission Control Protocol/Transport Control Protocol/Terminal Control Protocol";
    String q,a,a1,a2,a3,a4;
    StringTokenizer st = new StringTokenizer(sqanda,"/");
    while(st.hasMoreTokens())
    {
    q=st.nextToken();
    a1=st.nextToken();
    a2=st.nextToken();
    a3=st.nextToken();
    a4=st.nextToken();
    pw.println("<html>");
    pw.println("<head>");
    pw.println("<title>Test</title>");
    pw.println("</head>");
    pw.println("<body>");
    pw.println("<h2>"+q+"</h2>");
    pw.println("<form name=\"test1\" action=\"./aservlet\" method=\"POST\">");
    pw.println("<select size=\"4\" name=\"ansselect\">");
    pw.println("<option value="+a1+">"+a1+"</option>");
    pw.println("<option value="+a2+">"+a2+"</option>");
    pw.println("<option value="+a3+">"+a3+"</option>");
    pw.println("<option value="+a4+">"+a4+"</option>");
    pw.println("</select>");
    pw.println("<p></p>");
    pw.println("<input type=\"submit\"    value=\"submit\">");
    pw.println("</form>");
    pw.println("</body>");
    pw.println("</html>");
 }
 catch(JessException e)
 {
 System.out.println(e);
 }
 }
}



第二个Servlet



Second Servlet

import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
import jess.*;

public class AssessmentServlet extends HttpServlet
{
  public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException
  {
  response.setContentType("text/html");
  PrintWriter pw = response.getWriter();
  String[] sanswer;
  sanswer = request.getParameterValues("ansselect");
  pw.println(sanswer[0]);
  }
}



当通过选择第一个答案交易控制协议"执行时,即时输出为交易",但我希望输出为交易控制协议".我该怎么做?



when executing by selecting first answer "Transaction Control Protocol" im getting the output as "Transaction" but i want output as "Transaction Control Protocol". How can i do that?

推荐答案

我已经好几年没有做Java了,但是我可以看到问题出在哪里.当您打印选项值时,不会引用它们.生成的HTML将如下所示:
I''ve not done any Java for years, but I can see what the problem is. When you are printing out your option values, you are not quoting them. The resulting HTML will look like this:
<option value=Transaction Control Protocol>Transaction Control Protocol</option>



从语法突出显示中可以看出,这意味着您的值是交易",控件"和协议"最终成为该选项的无意义属性.

尝试这样的println行:



As you can probably tell from the syntax highlighting, this means that your value is "Transaction" and "Control" and "Protocol" end up as meaningless attributes of the option.

Try your println lines like this instead:

pw.println("<option value=\""+a1+"\">"+a1+"</option>");


这篇关于经历以下的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆