Во-первых, создайте класс, в котором объявлены все значения, которые вы хотите вернуть назад , а также получатель / установщик из этой переменной. Т.е. предположим, переменная user.
import java.util.*;
public class Abc{
private String user;
public String getUser() {
return user;
}
public void setUser(String user) {
this.user = user;
}
public Abc(String user) {
this.user = user;
}
}
Далее, в ваш файл ProductSearch.java введите этот код:
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// TODO Auto-generated method stub
String searchTerm = request.getParameter("Search");
ArrayList<Abc> ab= new ArrayList();
try
{
String sql1 ="select * from products where name like %?%";
PreparedStatement ps = conn.prepareStatement(sql1);
ps.setString(1,searchTerm);
resultSet = ps.executeQuery();
while(resultSet.next())
{
Abc b=new Abc();
b.setUser(resultSet.getString("user"));
ab.add(b);
}
request.setAttribute("r1", ab);
request.getRequestDispatcher("productSearch.jsp").forward(request, response);
}
catch(Exception s2)
{
s2.printStackTrace();
}
}
}
Наконец, распечатайте результат обратно на страницу productSearch.jsp , используя jstl [1110 ]
<!-- this is use because we use jstl tag-->
<%@taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %>
<table align="center" border="1">
<tr bgcolor="#d9ac26">
<td><b>search</b></td>
</tr>
<!--Here we are printing result-->
<c:forEach var="book" items="${r1}">
<tr bgcolor="">
<td>${book.user}</td>
</tr>
</c:forEach>
</table>
Надеюсь, это поможет вам. Сделайте необходимые изменения согласно вашему требованию. Это не полный код.
Я создавал простое приложение Win32 c ++ в VS2005 и получал следующую ошибку:
LNK2019: unresolved external symbol __imp__somefunction
Это приложение использовало листы свойств, поэтому ему требовался этот заголовок (prsht.h).
Решение моей проблемы было следующим: в программе Свойства → Свойства конфигурации → Компоновщик → Общие я установил Дополнительные каталоги библиотек на "C: \ Program Files \ Microsoft Visual Studio 8 \ VC \ PlatformSDK \ Lib "
.
Также в программе Свойства → Свойства конфигурации → Компоновщик → Командная строка для Дополнительные параметры , я добавил ComCtl32.Lib ComDlg32.Lib
.
Моя программа теперь компилируется без проблем. Мои два цента: вам нужно указать все библиотеки, которые требуются вашей программе. Подсказка: проверьте все заголовки, которые вы включили, вы должны убедиться, что ваш компоновщик может их видеть.
Попытайтесь включить подробный вывод для своего компоновщика (обычно переключатель командной строки). Это покажет Вам точно, как компоновщик пытается разрешить символ, таким образом, Вы видите если:
Я надеюсь, что это помогает!
__imp_
префикс указывает, что компоновщик ожидает, что эта функция будет импортирована из DLL.
clrdump библиотека от этой страницы? Если так, отметьте это extern "C"
не используется в заголовочном файле, предоставленном библиотекой. Я подтвердил это использование следующей команды:
dumpbin /exports clrdump.lib
который производит следующий вывод для RegisterFilter
- это - искаженное имя функции C++:
?RegisterFilter@@YGHPBGK@Z (int __stdcall RegisterFilter(unsigned short const *,unsigned long))
Я пытался создать пример программы с помощью clrdump.lib использующий Visual Studio 2008. Вот мой код:
#include <windows.h>
#include "ClrDump.h"
int _tmain(int argc, _TCHAR* argv[])
{
RegisterFilter(L"", 0);
return 0;
}
Создание этого произвело следующую ошибку компоновщика:
LNK2019: unresolved external symbol "__declspec(dllimport) int __stdcall RegisterFilter(wchar_t const *,unsigned long)" (__imp_?RegisterFilter@@YGHPB_WK@Z)
Код создает хорошо с Visual C++ 6.0.
Заметьте что dumpbin
вывод показывает первый параметр RegisterFilter
как unsigned short const *
но ошибочные шоу компоновщика wchar_t const *
. В Visual C++ 6.0, wchar_t
обычно определение типа для unsigned short
, тогда как в более поздних версиях это - отличный встроенный тип.
Для работы вокруг проблемы в Visual Studio 2008 я установил опцию "Treat wchar_t as Built-in Type" на "Нет" (указать /Zc:wchar_t-
на командной строке компилятора), и код теперь создает OK.
Извините за беспорядок с моим предыдущим ответом. Я надеюсь, что это более полезно!