我想实现一个小型搜索引擎,我有一个索引页面,用户在其中输入搜索关键字,然后他重定向到搜索结果页面,因此如何显示搜索结果,因为它们是动态生成的我正在使用 lucene 并且我在 jsp 中实现了这个页面(我想在 jsf 中重新设计它):
<p style=" color: green"> <%=Srchr.HitsCount() %> Searching result(s) for : <%= SearchText %>
<p>------------------------------------------------------------------
<% for (int i = 0 ; i<Srchr.HitsCount() ; i++){ %>
<p> <%= (i+1) %> : <a href= <%= Srchr.getHits()[i] %> > <%= Srchr.getHits()[i] %> </a>
Run Code Online (Sandbox Code Playgroud)
其中 srchr 是访问 lucene db 的搜索器类。
请帮我 。
谢谢
我必须将我的dataTable转换为惰性dataTable。我该怎么做?这是我的示例代码:
IndexBean.java
@Name("indexBean")
public class IndexBean implements Serializable {
private static final long serialVersionUID = 1L;
@Inject
UserService userService;
private List<User> userList;
@Inject
MessageService messageService;
private List<Message> messageList;
private Integer dataTableRendered;
public void getAllUser() {
setDataTableRendered(1);
userList = new ArrayList<User>();
userList = userService.getAllUser();
if (userList.size() > 0) {
addMessageSuccess("Success", "Success");
} else {
addMessageError("Failure", "Failure!");
}
}
public void getAllMessages() {
setDataTableRendered(2);
messageList = new ArrayList<Message>();
messageList = messageService.getAllMessages();
if (messageList.size() > 0) {
addMessageSuccess("Success", "Success");
} else {
addMessageError("Failure", …Run Code Online (Sandbox Code Playgroud) 我正在使用PrimeFaces 5.0,并希望<p:treeTable>在单击事件后在弹出框中创建内容,但显示以下错误
无法创建托管bean
popupTreeTableManagedBean。结果发现以下问题: -托管bean类beans.PopupTreeTableManagedBean的托管beanpopupTreeTableManagedBean不声明一个公共的无参数的构造函数。-管理bean类beans.PopupTreeTableManagedBean的托管beanpopupTreeTableManagedBean不声明一个公共的无参数的构造函数。
这是我的代码片段
index.xhtml:
<p:dialog header="" widgetVar="dlg1" minHeight="200">
<p:treeTable value="#{popupTreeTableManagedBean.root}" var="node" style="" >
<p:column>
<f:facet name="header">Name</f:facet>
<h:outputText value="#{node.name}"></h:outputText>
</p:column>
<p:column>
<f:facet name="header">Value</f:facet>
<h:inputText value="#{node.value}" style="border-style: hidden;"/>
</p:column>
</p:treeTable>
</p:dialog>
Run Code Online (Sandbox Code Playgroud)
PopupTreeTableManagedBean.java
@ManagedBean
@SessionScoped
public class PopupTreeTableManagedBean {
private TreeNode root = new DefaultTreeNode("Root Node", null);
List<String> selectedParams;
TreeNode scanParamsRoot = null;
PopupTreeTableManagedBean() {
selectedParams = GenrateScanList.getParamList();
createRootAndLeafNodes();
}
private TreeNode createRootAndLeafNodes() {
TreeNode scanSubRoot = null;
int …Run Code Online (Sandbox Code Playgroud)
当我没有在 primefaces 数据表中使用过滤器并尝试选择行时,例如按编辑它运行良好并获取所选行。但是当我使用 primefaces 过滤器然后选择过滤后的行然后编辑时,我得到了 org.primefaces.model。 SelectableDataModel 启用选择时出现异常。
我知道这意味着我有一个空行键,但我不知道为什么。我使用有效的行键(id)数据表的主键,当我使用调试时,我发现它两次获得 id失败的情况,第一次得到正确的过滤id,第二次得到空id。我的问题是为什么它两次获取 rowkey id,第二次获取 null 并导致异常
<h:body>
<h:form prependId="false" id="growlForm">
<p:growl id="growl" showDetail="false" />
</h:form>
<h:form id="dataForm">
<p:panel id="ingerdientsTable">
<f:facet name="header">
<h:outputText value="Standard Food List" />
</f:facet>
<p:dataTable id="ingedientsTable" widgetVar="ingedientsTable" var="ingerdients" resizableColumns="true"
selectionMode="single" selection="#{mealBean.selectedStandardIngerdients}"
rowKey="#{ingerdients.getId()}" value="#{mealBean.allIngerdients}" rowsPerPageTemplate="5,10,25,50" rows="20"
paginator="true" style="padding-top:10px;padding-bottom:10px" tableStyle="table-layout: auto"
paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown} ">
<p:column headerText="Food Type" filterBy="#{ingerdients.name}"><h:outputText value="#{ingerdients.name}" /></p:column>
<p:column headerText="Protein(gm)" filterBy="#{ingerdients.containedProtiens}"><h:outputText value="#{ingerdients.containedProtiens}" /></p:column>
<p:column headerText="Carbs(gm)" filterBy="#{ingerdients.containedCarbs}"><h:outputText value="#{ingerdients.containedCarbs}" /></p:column>
<p:column headerText="Fats(gm)" filterBy="#{ingerdients.containedFats}"><h:outputText value="#{ingerdients.containedFats}" /></p:column>
<p:column …Run Code Online (Sandbox Code Playgroud) 以下是我的代码我的bean
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;
/**
*
* @author utilisateur
*/
@ManagedBean(name="Beansearch")
@SessionScoped
public class Beansearch extends HttpServlet {
ResultSet rs;
private String cond;
public String getcond() {
return this.cond;
}
public void setcond(String cond) {
this.cond= cond;
}
private List perInfoAll = new ArrayList();
private int i;
public List getperInfoAll(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException, SQLException {
String value = req.getParameter("cond");
try {
Class.forName("oracle.jdbc.driver.OracleDriver"); …Run Code Online (Sandbox Code Playgroud) 我正在尝试实现本教程中的代码:
这是托管bean:
import java.io.Serializable;
import javax.enterprise.context.SessionScoped;
// or import javax.faces.bean.SessionScoped;
import javax.inject.Named;
/* include SQL Packages */
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.annotation.PostConstruct;
import javax.sql.DataSource;
import javax.annotation.Resource;
import javax.faces.bean.ViewScoped;
import javax.faces.component.UICommand;
import javax.faces.context.FacesContext;
import javax.inject.Inject;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
// or import javax.faces.bean.ManagedBean;
import javax.faces.event.ActionEvent;
import org.glassfish.osgicdi.OSGiService;
// source http://balusc.blogspot.com/2008/10/effective-datatable-paging-and-sorting.html
@Named("SessionsController")
@ViewScoped
public class Sessions implements Serializable {
/* Call the Oracle JDBC Connection driver */ …Run Code Online (Sandbox Code Playgroud) 我想在标签内的页面之间导航,这是我的代码:
<p:tabView id="tabView">
<p:tab id="tab1" title="Gestion des Utilisateur" titleStyle="titre">
<ui:include src="#{directionpage.page}" />
</p:tab>
<p:tab id="tab2" title="Gestion des Equipes">
<ui:include src="#{directionpage.page2}" />
</p:tab>
</p:tabView>
Run Code Online (Sandbox Code Playgroud)
directionpage jsf托管bean有这个变量String Static page;,我想更改其他托管bean中的页面值以导航到其他页面.但我有这个错误:类'com.jsfmanagedbean.directionpage'没有可读属性'page'.
这是我的jsf托管bean
package com.jsfmanagedbean;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
@SessionScoped
@ManagedBean
public class directionpage {
public static String page="/admin/gestiondesuser/usergestion.xhtml";
public static String page2="/admin/gestiondesequipe/gestiondesequipe.xhtml";
public static String getPage() {
return page;
}
public static void setPage(String page) {
directionpage.page = page;
}
public static String getPage2() {
return page2;
}
public static void setPage2(String …Run Code Online (Sandbox Code Playgroud) 在开发JSP页面时,我们可以在服务器端运行Java代码,而JSP页面在客户端运行...如何在Java代码(在服务器端)和JSP页面(在客户端)之间创建请求和响应周期这个动态网页的JSP和JSF技术有什么区别?哪一个更好的JSF或JSP?
我有一个命令按钮,当我点击它时,应该改变该按钮的背景颜色.这应该在backing bean方法中完成.如何在Java方法中设置命令按钮的颜色?我试过这个
if (dt.equals(getDate())) {
System.out.println("Date is equal....");
button.setBackground(Color.yellow);
}
else {
System.out.println("date is different");
}
Run Code Online (Sandbox Code Playgroud)
但它显示错误
找不到方法设置Background(Java.awt.colour).
当我现在在使用jsf时,我想知道为什么我们在jsf中使用逐字标记,它的意义是什么?
任何帮助将不胜感激。
我需要从当前日期禁用所有过去的日期,并且仅使用<p:calendar>Primefaces中的当前日期中的三个即将到来的日期.这该怎么做?
<f:view>标签是否应该在标签外面(周围)<rich:page>?还是里面呢?
请注意,我确实想要一个<f:view>标签,因为我想设置locale.