小编int*_*boy的帖子

Rails collection_select自定义名称属性

我有以下集合选择作为Rails应用程序中的过滤器.

<%= form_tag( "/appointments", :method => "get", :id => "filter_form") do %>
   <%= collection_select :doctor, :id, @doctors, :id, :full_name, {:include_blank => 'All'} %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

这总是会生成select元素的name属性,name="doctor[id]"这会导致浏览器?utf8=?&doctor%5Bid%5D=1无法读取.

如何将name属性更改为just name = "doctor"或基本上只是从中删除括号?

html ruby-on-rails

5
推荐指数
2
解决办法
3692
查看次数

Primefaces commandButton动作属性未被调用

我正在创建带有Primefaces的JSF应用程序。基本上我有这种看法。有一个选项卡视图,其中每个选项卡都包含一个命令按钮和一个手风琴面板(另一种选项卡视图)。在其他元素中,手风琴面板的选项卡包含每个命令按钮。我的问题是,第一个命令按钮(在1级选项卡下)在单击时正确调用了操作方法,而第二个按钮(在2级选项卡下)未正确调用。我应该说tabView和AccordionPanel都正常工作,因为它们正在显示应显示的信息。

我正在发布视图的简化版本,以便您可以看到正在发生的事情。

<h:form>
<p:tabView id="unitTabs"  orientation="left" dynamic="true" cache="false" var="unit" value="#{unitController.getUnitsOfLoggedInUser(loginController.checkedUser)}">
    <p:tab id="unitTab" title="#{unit.unitName}">

    <p:commandButton value="Add Lecture" action="#{unitController.setTemporary(unit)}" onclick="createLectureDialog.show()">

    <p:accordionPanel id="lectureTabs" value ="#{lectureController.getLecturesForUnit(unit)}" var="lecture" dynamic="true" cache="false">

         <p:tab title="#{lecture.lectureName}">
              <p:commandButton value="Add Criterion" action ="#{lectureController.setTemporary(lecture)}" onclick="createCriterionDialog.show()" >
         </p:tab>
     </p:accordionPanel>
     </p:tab>
</p:tabView>
</h:form>
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?谢谢

jsf java-ee primefaces

3
推荐指数
1
解决办法
1万
查看次数

在每个页面刷新时调用Session Scoped Managed Bean构造函数

我正在使用会话范围的托管bean来处理Java EE应用程序中的登录.在对用户进行身份验证后,用户对象将保存在此会话Bean中.但是,刷新页面后,会话bean值就消失了.

我正在调试代码,结果是在页面刷新时再次调用会话范围的托管bean的构造函数,因此使用新用户初始化用户对象.我想这不是一个正常的行为,因为它应该保存在会话上不应该吗?

我发布了登录托管bean的一些部分,包括参数和登录方法.基本上,enteredEmail和enteredPassword代表登录表单上输入的数据.如果身份验证成功,则loggedIn布尔值将变为true,并且登录的用户对象将存储在checkedUser变量中.

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;

@ManagedBean
@SessionScoped
public class LoginController  implements Serializable {

@EJB
private LoginSessionBean loginSessionBean;
@EJB
private LecturerFacade lecturerFacade;

private Lecturer checkedUser;
private String enteredEmail;
private String enteredPassword;
private boolean loggedIn;





/** Creates a new instance of loginController */
public LoginController() {
   loggedIn = false;
   checkedUser = new Lecturer();
}
public String login(){
    RequestContext context = RequestContext.getCurrentInstance();
    FacesMessage msg = null;

    this.setCheckedUser(lecturerFacade.findLecturerByEmail(enteredEmail));

    if(loginSessionBean.checkPassword(checkedUser, enteredPassword))
    {
        loggedIn = true;
        msg = new FacesMessage(FacesMessage.SEVERITY_INFO, "Welcome", checkedUser.getFirstName()+ " …
Run Code Online (Sandbox Code Playgroud)

jsf

0
推荐指数
1
解决办法
4391
查看次数

标签 统计

jsf ×2

html ×1

java-ee ×1

primefaces ×1

ruby-on-rails ×1