小编Dre*_*w H的帖子

@PostConstruct中的CDI参数

我认为我的问题与类似,但尚未发现它可行

  <f:metadata>
  <f:viewParam id="id" name="id" value="#{detailsBean.id}"/>
 </f:metadata>
Run Code Online (Sandbox Code Playgroud)

为什么我不能用@Named执行此操作并使用CDI:

@Named
@RequestScoped
public class DetailsBean {

    private Contacts detailsContact;
    @EJB
    ContactsFacade contactsEJB;
    private int id;

    public DetailsBean() {

        System.out.println("details bean called");
    }

    @PostConstruct
    public void onLoad() {
        detailsContact = contactsEJB.find(id);

}
Run Code Online (Sandbox Code Playgroud)

我无法记录身份证.

当然,@ ManagedProperty与CDI不兼容.

*****UPDATE*****

一些xhtml:

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns:ui="http://java.sun.com/jsf/facelets"
                template="../template.xhtml"
                xmlns:h="http://java.sun.com/jsf/html"
                xmlns:p="http://primefaces.prime.com.tr/ui"
                xmlns:f="http://java.sun.com/jsf/core">

    <ui:define name="head">
        <f:metadata>               
            <f:viewParam name="paginator" value="#{contactsBean.contactsTablePaginator}"/>
            <f:viewParam name="rows" value="#{contactsBean.contactsTableRows}"/>
        </f:metadata>
    </ui:define>

    <ui:define name="content">
        <p:growl id="growl" showDetail="true"/> …
Run Code Online (Sandbox Code Playgroud)

java ejb-3.0 java-ee-6 jsf-2

2
推荐指数
1
解决办法
4723
查看次数

无法使用Base64.decodeBase64(Commons codec)

String encode = Base64.encodeBase64String("Hello".getBytes());
System.out.println(encode);
byte[] decode = Base64.decodeBase64(encode);
System.out.println(decode.toString());
Run Code Online (Sandbox Code Playgroud)

我不知道这里有什么不对.我已经尝试了所有可能的组合.设置charset,toString,no toString.编码工作得很好.我可以将该号码丢入Web解码器并每次都获得正确的值.只是不能让这个工作.

输出:

 run:
SGVsbG8= (encode)

[B@1fb8ee3  (decode)
Run Code Online (Sandbox Code Playgroud)

如果我使用for循环并手动将字符添加到字符串,我可以使它工作.但是我认为串音为我做了那个?

java base64 apache-commons-codec

2
推荐指数
1
解决办法
4934
查看次数

无法在另一个@ManagedBean中@Inject一个@ManagedBean

好的,这是我的会话bean.我总是可以从任何Servlet或Filter中检索currentUser.这不是问题问题是fileList和currentFile.我用简单的int和Strings进行了测试,并且它的效果相同.如果我从视图范围bean中设置一个值,我可以从另一个类中获取数据.

@ManagedBean(name = "userSessionBean")
@SessionScoped
public class UserSessionBean implements Serializable, HttpSessionBindingListener {

    final Logger logger = LoggerFactory.getLogger(UserSessionBean.class);

    @Inject
    private User currentUser;

    @EJB
    UserService userService;

    private List<File> fileList;   

    private File currentFile;

    public UserSessionBean() {

        fileList = new ArrayList<File>();
        currentFile = new File("");
    }

    @PostConstruct
    public void onLoad() {

        Principal principal = FacesContext.getCurrentInstance().getExternalContext().getUserPrincipal();
        String email = principal.getName();

        if (email != null) {
            currentUser = userService.findUserbyEmail(email);
        } else {

            logger.error("Couldn't find user information from login!");
        }
    }
Run Code Online (Sandbox Code Playgroud)

这是一个例子.

我的观点是scoped bean.这就是它的装饰方式.

 @ManagedBean
 @ViewScoped
 public …
Run Code Online (Sandbox Code Playgroud)

jsf inject cdi managed-bean

2
推荐指数
1
解决办法
7635
查看次数

如何从另一个可观察对象访问对象

我不确定这是否合理.不知道如何说出来.

基本上我有这个.

    function Line(id, name, equipType, model, height, length, loadsWeek, weight, width, pallets) {

    this.id = ko.observable(id);
    this.name = ko.observable(name);        
    this.height = ko.observable(height);
    this.length = ko.observable(length);
    this.weight = ko.observable(weight);
    this.width = ko.observable(width);
    this.model =  ko.observable(model);
    this.equipType = ko.observable(equipType);
    this.loadsWeek = ko.observable(loadsWeek);

this.perimeter = ko.dependentObservable(function() {
        return parseInt(this.height()) + parseInt(this.length())
    }, this);

    var mapped = ko.utils.arrayMap(pallets, function(pallet) {              
        return new Pallet(pallet.id, pallet.name, pallet.height, pallet.width, this)    
    });

    this.pallets = ko.observableArray(mapped);
}

function Pallet(id, name, height, width, line) {

    this.id = ko.observable(id);
    this.name …
Run Code Online (Sandbox Code Playgroud)

javascript knockout.js

2
推荐指数
1
解决办法
782
查看次数

匹配,逻辑案例?

def searchEquipmentCategory(category: String) = Action {

    val equipment = Equipment.searchByCategory(category)
    equipment.size match {
        case 0 => NotFound(views.html.helpers.notfound("Equipment not found for category :" + category))
        case (_ > 0) => Ok(views.html.equipment.index(equipment, capitalize(category)))
    }

}
Run Code Online (Sandbox Code Playgroud)

是否可以将逻辑放入匹配大小写语句中?

我到处搜索,找不到任何文档.如果案例为0,我只想知道如果数字超过0就做一件事.

_在这种情况下使用默认设置可以正常工作,但如果我想做3件事怎么办?

  • 如果number == 0
  • 如果数字在1到10之间
  • 如果数字在11到20之间

也许我试图用案例做太多.

谢谢您的帮助.

scala pattern-matching

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

下拉菜单中包含名称而不是ID

在此输入图像描述

在文件制作者中,我试图将记录与另一条记录联系起来.它必须有一个ID关联它.

您可以在下拉列表中显示ID和名称,但该字段实际上必须是ID.有没有办法在字段中显示名称和ID,还是我必须有另一个文本框显示旁边的名称?谢谢.

filemaker

2
推荐指数
1
解决办法
5480
查看次数

为什么在函数旁边放置泛型类型?

当我查看Scala库时,我看到这样的代码.为什么要进行测试[A].

   def test[A](block : Int => Unit) : Unit = {  
        block(10)
    }     

    test { u =>

        println(u)        
    }
Run Code Online (Sandbox Code Playgroud)

我认为这同样有效.它运行方式相同.

 def test(block : Int => Unit) : Unit = {   
            block(10)
        }   
Run Code Online (Sandbox Code Playgroud)

我一直很好奇它背后的推理(或设计模式)是什么.谢谢.

scala

2
推荐指数
1
解决办法
166
查看次数

转换选择表行

我知道这个问题已被问过很多,但我找不到确切的答案.这是我的代码.基本上我已经完成了所有设置.我只是迷失在哪里通过索引获取表的行.我已经尝试过.index函数,但我没有用.我正在尝试做类似的事情$('#pkgLineTable').index(i).addClass('row_selected');

但那不能正常工作.任何帮助都会很棒.非常感谢你.

var lastSelected;

$('#pkgLineTable tr').live('click', function(event) {         

    var tableRow = $(this).closest("tr").prevAll("tr").length + 1;      
    if ($(this).hasClass('row_selected')) {
        $(this).removeClass('row_selected');       
    }
    else {           
        $(this).addClass('row_selected');         
    } 

    if (event.shiftKey) { 
        var table = $('#pkgLineTable');        


        var start = Math.min(tableRow, lastSelected);
        var end = Math.max(tableRow, lastSelected);                 

        for (var i = start; i < end; i++) {
            //$(this).parent().parent().addClass('row_selected'); 
        }

    } else {        

        lastSelected = $(this).closest("tr").prevAll("tr").length + 1;
    }
Run Code Online (Sandbox Code Playgroud)

我的开始和结束值都是正确的.如果选择2行和5行,则返回2和5.然后迭代2 - 5.我需要向行2 - 5添加一个类.

编辑我用过这个:

    for (var i = start; i < end; i++) {
            $('#pkgLineTable').each(function() { …
Run Code Online (Sandbox Code Playgroud)

javascript jquery

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

将值传递给内部类方法?

Promise<List<WrapSpec>> wrapSpecPromise = new Job() {
                @Override
                public List<WrapSpec> doJobWithResult() throws Exception {
                    return PkgLoad.findDistinctWrapSpecBetweenDates(pkgLine, startDate, endDate);               
                }
            }.now();
Run Code Online (Sandbox Code Playgroud)

是否可以将值pkgLine,startDate,endDate传递给此方法?谢谢你的帮助.

编辑:这是建议反对的东西吗?或不.谢谢.

    for ( final PkgLine pkgLine : pkgLineList ) {


            Promise<List<WrapSpec>> distinctWrapPromise = new Job() {

                @Override
                public List<WrapSpec> doJobWithResult() throws Exception {
                    return PkgLoad.findDistinctWrapSpecBetweenDates( pkgLine, startDate, endDate );
                }
            }.now();
            promiseList.add( distinctWrapPromise );
        }
Run Code Online (Sandbox Code Playgroud)

java inner-classes playframework

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

脚本groovy标签在Play中无法正常工作

嘿家伙我正在使用脚本标签.

%{..}%

当我做乘法它似乎工作.

up = wrapBenchmark * upperLimit;
Run Code Online (Sandbox Code Playgroud)

但是,如果我这样做.

up = wrapBenchmark + upperLimit;
Run Code Online (Sandbox Code Playgroud)

它似乎将数字作为字符串添加到最后.像一个字符串concat.这是什么问题?我只想将两个数字加在一起.它将一切都视为一个字符串.谢谢您的帮助.

java groovy playframework

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

使用等号或复制构造函数设置列表等于列表?

这是一个简单的问题,但如果我这样做

List<Object> list = getObjectsFromDatabase();
Run Code Online (Sandbox Code Playgroud)

这不是处理这个问题的正确方法吗?

但这会吗?

List<Object> firstList = getObjectsFromDatabase();

List<Object> list = new ArrayList<Object>(firstList);
Run Code Online (Sandbox Code Playgroud)

或者如果我上课了

public class ReportDisplayModel<T> {

    public ReportDisplayModel(List<T> data) {
        this.data = data;
    }
    public List<T> data;
}
Run Code Online (Sandbox Code Playgroud)

我想在这个模型中设置数据我会使用构造函数吗?

ReportDisplayModel<Object> model = new ReportDisplayModel<Object>(getData());
Run Code Online (Sandbox Code Playgroud)

代替

ReportDisplayModel<Object> model = new ReportDisplayModel<Object>();

model.data = getData();
Run Code Online (Sandbox Code Playgroud)

只需要澄清一下.谢谢.

java

1
推荐指数
2
解决办法
363
查看次数

写这个更简洁的方法?需要检查一个数字是否低于0

val total_breaks = //a random number

total_breaks match {
  case i if(i < 0) => chartTemplate.setAttribute("totalBreaks", 0)
  case _ => chartTemplate.setAttribute("totalBreaks", total_breaks)
}
Run Code Online (Sandbox Code Playgroud)

我在想Scala中有一个函数可以缩短它.我以为min这样做但我猜不是.我似乎无法找到文件min,max等等.

有点像total_breaks.min(0).如果不在0,则显示0如果不显示total_breaks.

也有办法做这样的事情

(4 + 5) match {
  case 0 => println("test")
  case _ => println(_) //i need to display the number passed into match?  Is this not  possible?
}
Run Code Online (Sandbox Code Playgroud)

如果我这样做case i => println(i)是一样的case _ =>?这是后备吗?

scala

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

将Java转换为Scala代码时的奇怪操作.在函数中返回一个新对象

我正在将一些旧的Java代码转换为Scala.我有这个.

    class XYCustomRenderer(dataMax: Double, dataMin: Double) extends XYShapeRenderer with BaseChart {

    override def getItemPaint(series: Int, item: Int): Paint = {

        val seriesCollection: TimeSeriesCollection = getPlot.getDataset(OUNCES_CHART).asInstanceOf[ TimeSeriesCollection ]

        val ounce = seriesCollection.getYValue(series, item)

        if ( ounce >= dataMax || ounce <= dataMin ) {
            new Color(255, 161, 15, 200)
        }

        new Color(242, 29, 5, 150)

    }
}
Run Code Online (Sandbox Code Playgroud)

这是一个直接的转换.

我有问题让颜色正确返回.

如果我按照所示编写它,它总是返回底部颜色.

如果我这样写(带回程).

if ( ounce >= dataMax || ounce <= dataMin ) {
            return new Color(255, 161, 15, 200)
        }

        new Color(242, …
Run Code Online (Sandbox Code Playgroud)

scala

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