- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在努力在 JSP 中制作自定义标记以提供数据库连接。我制作了标签并将其与适当的 java 类链接。但我无法获取从 index.jsp 页面传递给此自定义标记的参数。这是文件。
form.jsp
<%@ page import="java.util.*,java.io.*;" language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Get User Data</title>
</head>
<body bgcolor="#AABBCC">
<form name="form" action="dbConnect.jsp" method="POST">
<table>
<tr>
<td>JDBC Driver</td>
<td> <input type="text" name="jdbcDriver" size="30"> </td>
</tr>
<tr>
<td>JDBC URL</td>
<td><input type="text" name="serverURL" size="30"></td>
</tr>
<tr>
<td>User Name</td>
<td><input type="text" name="username" size="30"></td>
</tr>
<tr>
<td>Password</td>
<td><input type="password" name="password" size="30"></td>
</tr>
<tr>
<td>Query</td>
<td><input type="text" name="query" size="30"></td>
</tr>
<tr>
<td></td>
<td><input type="submit" name="submit_query" value="Submit" ></td>
</tr>
</table>
</form>
</body>
</html>
customTag.tld
<taglib>
<tlib-version>1.0</tlib-version>
<jsp-version>2.0</jsp-version>
<tag>
<name>dbTag</name>
<tag-class>com.appperfect.training.CustomDBTag</tag-class>
<body-content>scriptless</body-content>
<attribute>
<name>jdbcDriver</name>
<required>true</required>
<type>java.lang.String</type>
<fragment>false</fragment>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>serverURL</name>
<required>true</required>
<type>java.lang.String</type>
<fragment>false</fragment>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>username</name>
<required>true</required>
<type>java.lang.String</type>
<fragment>false</fragment>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>password</name>
<required>true</required>
<type>java.lang.String</type>
<fragment>false</fragment>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>query</name>
<required>true</required>
<type>java.lang.String</type>
<fragment>false</fragment>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
</taglib>
dbConnect.jsp
<%@ page import="java.util.*,java.io.*,java.sql.*" %>
<%@ taglib prefix="db" uri="WEB-INF/CustomTag.tld" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<%
String driver, url, uname, pass, query;
driver = "jdbcDriver";
url = "serverURL";
uname = "username";
pass = "password";
query = "query";
%>
<db:dbTag
jdbcDriver="<%= request.getAttribute(driver).toString() %>"
serverURL="<%= request.getAttribute(url).toString() %>"
username="<%= request.getAttribute(uname).toString() %>"
password="<%= request.getAttribute(pass).toString() %>"
query="<%= request.getAttribute(query).toString() %>">
</db:dbTag>
</body>
</html>
customDBTag.java
import javax.servlet.jsp.tagext.*;
import javax.servlet.jsp.*;
import java.io.*;
public class CustomDBTag extends SimpleTagSupport {
private String jdbcDriver, serverURL, username, password, query;
public void setJdbcDriver(String driver) {
this.jdbcDriver = driver;
}
public void setServerURL(String url) {
this.serverURL = url;
}
public void setUsername(String uname) {
this.username = uname;
}
public void setPassword(String pass) {
this.password = pass;
}
public void setQuery(String que) {
this.query = que;
}
StringWriter sw = new StringWriter();
@Override
public void doTag() throws JspException, IOException {
JspWriter out = getJspContext().getOut();
if(jdbcDriver!=null)
out.println(jdbcDriver);
if(serverURL!=null)
out.println(serverURL);
if(username!=null)
out.println(username);
if(password!=null)
out.println(password);
if(query!=null)
out.println(query);
}
}
任何人都可以建议我做错了什么吗?
PS:我在 Mac OS X 10.7 上使用 Eclipse EE Indigo、Apache Tomcat 7 和 Mysql 5
最佳答案
您正在发送参数并读取属性
将其更改为读取参数
jdbcDriver=<%= request.getParameter("driver")%>
<小时/>
另请参阅
关于java - 使用请求对象获取 JSP 自定义标记属性的参数值时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24925328/
SELECT ID, AppID, Description, Min([Transaction Date]) AS TransactionDate FROM AppProsHist WHERE [De
目前我正在创建规则,该规则应该检查方法是否包含 @Test 和 @TestInfo 注释。如果确实如此,@TestInfo 不应有空参数 testCaseId。 有几种不同的可能方法来填充 testC
是否可以设置参数值,使其在 where 子句中始终结果为 true? 作为示例,考虑一个查询: SELECT name FROM student WHERE class=@parameter; 现在我
我是 JPA 的新手,这是我的查询之一,我有几个参数作为查询的一部分,任何参数都可以为空值 @Query(value = "SELECT ord.purchaseOrderNumber,ord.sal
LOD 参数对 texturelod 取什么值? ?我发现的规范根本没有提到它。它是百分比还是带有百分比的索引值。如果是后者,有没有办法获得纹理具有的 mipmap 数量,以便我能够使用百分比? 最佳
我希望此代码替换现有的 URL 参数“aspid”,但它的作用是在现有的 id 上添加另一个 id。有人可以帮忙吗? $(document).ready(function() { function
在 Spring-boot 项目中,我尝试将 Date 对象作为请求参数传递,并收到此错误: Parameter value [1] did not match expected type [java
在我们的 Jenkinsfile 中,我们有很多参数(参数化构建),在这种情况下,我想检查每个参数是否已切换并对其进行操作。这些参数具有相似的名称,但以不同的小数结尾,因此我想迭代它们以实现此目的。
我的模板之一中有类似于以下内容的内容: 但是 Freemarker 不高兴并给了我: Exception in thread "main" freemarker.core.ParseExceptio
我正在从表单向重定向 servlet 发送一个 post 请求。然后,Servlet 将表单写入其响应 (getWriter) 对象。该表单包含许多隐藏字段。我使用 javascript 提交此表单(
我正在创建一个 JavaScript 组件,我正在根据 jQuery 结果创建该组件的实例,但是,我传递到构造函数中的 DOM 元素虽然在我单步执行调用代码中的循环时已填充,但在传递给构造函数时是未定
已关闭。此问题需要 debugging details 。目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and the
我对 javascript 有疑问。 假设我有这样的 javascript 函数: function show_popup(id) { alert(id); } 编
我目前正在尝试抓取嵌入式 m3u8 url 路径以进行自学。 到目前为止,我设法确定请求会生成带有 m3u8 信息的 json 响应。 例如,https://headlines.yahoo.co.jp
谷歌地图 API 需要这样的参数: NSString *urlString=@"http://maps.google.com/maps?saddr=43.2923,5.45427&daddr=43.4
“parameterValue”是在 Javascript 中的事件上传递的默认参数吗?谁能解释一下这个值从何而来。 Load Ajax content 我发现它在以下文章中使用 - http://w
我有一个 .SWF 电子邮件提交表单。背景颜色通过以下方式设置: `` 并嵌入: `` 是否可以将鼠标悬停在对象或包含的 div 上来更改这些值?即#ffffff 非常感谢! 最佳答案 将 wmode
假设我想用指数函数拟合两个数组x_data_one和y_data_one。为此,我可以使用以下代码(其中 x_data_one 和 y_data_one 被赋予虚拟定义): import numpy
有什么方法可以填充 parameters在基于外部属性文件内容的 Liquibase 变更日志文件中? 例如,我希望能够说: 并将 table.name 的值和
我必须按原样发送参数值 'AbCd/EfgH'。但是 Angular 将 '/' 转义为 %2F。我无法控制 URL。 解决这个问题的最佳方法是什么? 我不想强制 Angular 停止对所有其他 UR
我是一名优秀的程序员,十分优秀!