gpt4 book ai didi

java类调用/调用jsp文件

转载 作者:太空宇宙 更新时间:2023-11-04 11:43:56 27 4
gpt4 key购买 nike

在netbeans中创建一个网络服务器,我有3个文件index.jsp、response.jsp和client.java。这个想法是创建一个温度转换器,但只接受输入而不执行计算器工作。请帮忙!?

index.jsp

<form name="Input Form" id="ftemp" action="response.jsp">
<input type="text" name="temp" />
<select name="conv1">
<option>Celsius</option>
<option>Fahrenheit</option>
</select>
<select name="conv2">
<option>Fahrenheit</option>
<option>Celsius</option>
</select>

<input type="submit" value="Submit" />
</form>

响应.jsp

<body>

<h1>your list is in order</h1>
<jsp:useBean id="sortbean" scope="session" class="sortclient.SortClient" />
<jsp:setProperty name="sortbean" property="input" />
<jsp:setProperty name="sortbean" property="cel" />
<jsp:setProperty name="sortbean" property="fahr" />
<jsp:getProperty name="sortbean" property="input" />
</body>

客户端.java

public class SortClient {

private String input;
double cel = 0;
double fahr = 0;

public SortClient (){
input = null;
}

public String getInput() {

try{
String key = getKey();
input = mergeSort (input,key);
double tempCelsius = input.nextDouble();
double tempFahrenheit = input.nextDouble();

return input;
}catch (Exception ex){
System.out.println(ex); //we would log this
return "That is not a valid list";
}
}



public void setInput(String input) {
this.input = input;

}

public double toCelsius( double tempFahrenheit )
{
return ((5.0 / 9.0) * ( tempFahrenheit - 32 ));

}

public double toFahrenheit( double tempCelsius )
{
return (tempCelsius * 9.0 / 5.0) + 32;

}


private static String mergeSort(java.lang.String input, java.lang.String userKey) {
org.tempuri.Service service = new org.tempuri.Service();
org.tempuri.IService port = service.getBasicHttpBindingIService();
return port.mergeSort(input, userKey);
}

private static String getKey() {
org.tempuri.Service service = new org.tempuri.Service();
org.tempuri.IService port = service.getBasicHttpBindingIService();
return port.getKey();
}

最佳答案

您的代码中存在多个问题。以下是一些建议:

  1. 匹配 index.htmlSortClient.java 中的输入名称,以避免混淆并简化属性分配
  2. 为所有字段创建 setter 和 getter,否则 jsp:setPropertyjsp:getProperty 将不起作用
  3. 请注意您的数据类型:String 没有 nextDouble()。如果您还没有,请使用 IDE(Eclipse、Netbeans、Intellij 等)帮助。
  4. 删除不必要的库和代码,例如。 org.tempuri.*

以下是实现上述建议的代码:

index.jsp

  <form name="Input Form" id="ftemp" action="response.jsp">
<input type="text" name="temp" />
<select name="conv1">
<option>Celsius</option>
<option>Fahrenheit</option>
</select>
<select name="conv2">
<option>Fahrenheit</option>
<option>Celsius</option>
</select>
<input type="submit" value="Submit" />
</form>

response.jsp

<h1>your list is in order</h1>
<jsp:useBean id="sortbean" scope="session" class="sortclient.SortClient" />
<jsp:setProperty name="sortbean" property="*" />
Input: <jsp:getProperty name="sortbean" property="temp" /><br>
Conv1: <jsp:getProperty name="sortbean" property="conv1" /><br>
Conv2: <jsp:getProperty name="sortbean" property="conv2" /><br>
Result: <jsp:getProperty name="sortbean" property="result" />

SortClient.java

package sortclient;

public class SortClient {
private String temp;
private String conv1;
private String conv2;
private Double result;

public String getTemp() {
return temp;
}

public void setTemp(String temp) {
this.temp = temp;
}

public String getConv1() {
return conv1;
}

public void setConv1(String conv1) {
this.conv1 = conv1;
}

public String getConv2() {
return conv2;
}

public void setConv2(String conv2) {
this.conv2 = conv2;
}

public Double getResult() {
result = Double.parseDouble(temp);
if (conv1.equalsIgnoreCase(conv2)) {
return result;
} else if (conv2.equalsIgnoreCase("Celsius")) {
return toCelsius(result);
} else if (conv2.equalsIgnoreCase("Fahrenheit")) {
return toFahrenheit(result);
}
return 0.0;
}

public double toCelsius(double tempFahrenheit )
{
return ((5.0 / 9.0) * ( tempFahrenheit - 32 ));

}

public double toFahrenheit( double tempCelsius )
{
return (tempCelsius * 9.0 / 5.0) + 32;

}

}

引用this tutorial获取详细指南。

正如其他人所建议的,这种方法实际上被认为是过时的,因为它是紧密耦合的并且无法大规模维护。因此,我还建议您从教程中学习 MVC 模式,例如:

http://courses.coreservlets.com/Course-Materials/csajsp2.html http://www.thejavageek.com/2013/08/11/mvc-architecture-with-servlets-and-jsp/

关于java类调用/调用jsp文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42520512/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com